Edgewall Software
Modify

Opened 19 years ago

Closed 19 years ago

Last modified 18 years ago

#56 closed defect (fixed)

Files missing in snapshot.

Reported by: chandlerc@… Owned by: cmlenz
Priority: major Milestone: 0.5
Component: Build master Version: dev
Keywords: Cc:
Operating System:

Description

To the best I can tell (which is difficult because i can't manually inspect it), there are several files missing in the snapshot. I have to manually add a step in the recipe to "touch" these files, and then they do appear, although as far as I can tell, still empty.

The files in particular that are missing: AUTHORS and Change Log?

Attachments (0)

Change History (4)

comment:1 Changed 19 years ago by cmlenz

You should be able to manually inspect the snapshot archive(s) on the server side: they are stored in the projenv/snapshots directory.

comment:2 Changed 19 years ago by Chandler Carruth <chandlerc@…>

Ok... so for the record, the bug is not in the files being missing. But if bitten-master gets interrupted after only partially creating a revision's tarball, it leaves a partial tarball sitting in the directory. Upon restart, bitten-master sees the partial tarball, and assumes it has already built the partial tarball, sending it out to slaves. The result is that after extraction, the snapshot is "missing" some files.

The solution seems to me to ensure successful creation of the snapshot, or recreate it when bitten-master gets ready to send one to a slave. I propose this process in the construction of a tarball:

  1. If no existing tarball, go to 6
  2. If no existing MD5 hash for tarball, go to 6
  3. Create new MD5 hash for tarball, and compare to existing.
  4. If MD5 hashes do not match, go to 6
  5. Finish
  6. Create new tarball, overwriting any existing tarball.
  7. Test tarball for integrity.
  8. Create MD5 hash for tarball, overwriting any existing MD5 hash.
  9. Finish

I can see no way for this process to be interrupted such that a corrupted tarball is not detected. Even if the MD5 hash generation is interrupted half way through being written out to the disk, the resulting MD5 hash will not be a match for an MD5 hash generated the next time around.

Comments?

comment:3 Changed 19 years ago by cmlenz

  • Component changed from General to Build master
  • Milestone set to 0.5
  • Status changed from new to assigned

Sounds good.

comment:4 Changed 19 years ago by cmlenz

  • Resolution set to fixed
  • Status changed from assigned to closed

Implemented in [248].

Add Comment

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain cmlenz.
The resolution will be deleted. Next status will be 'reopened'.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.