What happens if a change set is delivered to a stream while that stream is fetching for a build?
Some of our components are quite large and users have expressed concern over what might happen if they deliver a change set while a build is in the process of fetching. I am hoping that the fetch creates a snapshot before it starts and knows that anything delivered after it starts should be excluded. Is that the case?
Thanks,
Alexa
Accepted answer
There is an option in your build definition on the Jazz Source Control tab to accept the latest changes from the stream into your build workspace. If you select this (which is the typical behavior), a snapshot is created containing all the latest changes and the snapshot is used for the build. If you don't select this, whatever changes are already in your build workspace would be used for the build, and anything new delivered to the stream would have no impact. So, you're covered either way.
Comments
While a snapshot is created, the fetch is of the build workspace. The window of concern is what happens if a second build is started while the first build is still fetching. The second build will accept the newest changes into the same build workspace and create another snapshot. So timing-wise its possible a component not yet fetched by the first build has had its configuration changed by the accept of the second build. This situation is however detected by the first build when it attempts to load the subsequently changed component and the first build will fail. The second build is not impacted and it will have all the accumulated changes.
3 other answers
If you're wondering about what happens when the workspace is accepting when someone delivers to the stream, the accept operation works off of a report to specify which changes will be accepted. It wouldn't know about the new changes while accepting.
I also believe the snapshot occurs after accepting changes. Someone else may correct me if I'm wrong.
To validate, one a build starts, you can view the change sets that were accepted into the build. See the following article for details
http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0m3/index.jsp?topic=%2Fcom.ibm.team.build.doc%2Ftopics%2Fc_understanding_build_spec_build_results.html&resultof%3D%2522%2562%2575%2569%256c%2564%2522%2520