If it is pushed to any wider audience than roughly the dev@ list, it is a 
release. That definitely includes maven central.  Artifacts in maven are 
convenience binaries and this not a release but they should be traceable to an 
exact source release. 

Sent from my iPhone

> On Jun 7, 2015, at 19:10, Till Westmann <[email protected]> wrote:
> 
> Hmm, good point. It doesn’t have to. One question might be if we can push it 
> to some maven repository, if it’s not an official release. 
> But I think that should also be fine as long as we don’t push it to a 
> repository that claims to contain official releases. 
> 
> Some mentor input might be helpful on this as well :)
> 
> Cheers,
> Till
> 
>> On Jun 7, 2015, at 6:53 PM, Ildar Absalyamov <[email protected]> 
>> wrote:
>> 
>> Does version bump always mean full-fledged Apache release? We need the 
>> former just to resolve compile time dependencies.
>> 
>>> On Jun 7, 2015, at 18:49, Till Westmann <[email protected]> wrote:
>>> 
>>> In principle I agree with this, but creating a new release will be a little 
>>> more involved that just running maven, when we do this at the ASF.
>>> To publish a new release we will have to vet and vote on the release. This 
>>> takes at least 72 hours  in the best case if we’re a TLP, the first release 
>>> candidate is great, and have enough people to vote. While we’re still in 
>>> the incubator, releasing will take a little longer as we also have to get 
>>> enough votes for the release in the incubator.
>>> As I proposed earlier, it would be really good to go through the full 
>>> release process once, before we decide how to structure our processes and 
>>> infrastructure.
>>> 
>>> Cheers,
>>> Till
>>> 
>>>> On Jun 4, 2015, at 6:37 PM, Ildar Absalyamov <[email protected]> 
>>>> wrote:
>>>> 
>>>> I am with Chris on repository separation and I think that the solution to 
>>>> the issue of Hyracks commits breaking Asterix build is using release 
>>>> Hyracks versions instead of snapshot ones. Yes, that will create a 
>>>> frequent Hyracks releases (we will have to release it each time there is a 
>>>> change which spans both Hyracks & Asterix) and we have abandoned this 
>>>> practice a while ago, but it seems that’s the only way to separate 
>>>> projects logically.
>>>> 
>>>> Here are few examples to clear the picture. In all examples Hyracks 
>>>> version is 4.5.6-Snapshot, Asterix version is 1.2.3-Snapshot (but it 
>>>> depends on previous release version Hyracks 4.5.5):
>>>> 1) The changes span both Asterix & Hyracks.
>>>> First make sure that Asterix could depend on Hyracks 4.5.6-Snapshot 
>>>> without API conflicts & switch Asterix dependency to 4.5.6-Snapshot.
>>>> Submit Gerrit review, once it is done as a part of git-asf script commit 
>>>> changes, bump Hyracks version to 4.5.6, make Asterix depend on 4.5.6 and 
>>>> bump Hyracks to 4.5.7-Snapshot right after.
>>>> 2) The changes are located only in Hyracks. Regular review and commit 
>>>> (with snapshot version) without any version bump.
>>>> 3) The changes are located only in Asterix. Regular review and commit 
>>>> (with snapshot version) without any version bump.
>>>> 
>>>> In this scenario Hyracks commit can never make Asterix build fail (since 
>>>> it depends on a stable release) and it’s the responsibility of the first 
>>>> person, whose commits spans both repos to make sure that the changes in 
>>>> snapshot Hyracks version are properly merged.
>>>> 
>>>> Regarding the Yingyi’s issue with Gerrit topics: could we modify 
>>>> git-gerrit script so it would submit both Asterix & Hyracks reviews 
>>>> (granted that the latter is needed), and link them together, setting the 
>>>> proper topic? Gerrit seems to have API for changing that, right?
>>>> 
>>>>> On Jun 4, 2015, at 15:45, Mike Carey <[email protected]> wrote:
>>>>> 
>>>>> Just a quick high-level note from our nearest equivalent of the 
>>>>> pointy-haired Dilbert guy (aka me):  What would be nice is to have 
>>>>> Hyracks changes kick off tests of all "supported client projects" - 
>>>>> AsterixDB, VXQuery, maybe also Pregelix, IMRU, and possibly others in the 
>>>>> future.  I don't think we'll ever prevent such downstream things from 
>>>>> being broken unless we run their tests - so I would suggest that we need 
>>>>> a mechanism to keep Hyracks changes from being permitted to happen 
>>>>> without verifying the ongoing integrity of all "blessed" (priority 1) 
>>>>> affected projects....  We could have an agreed upon list of such projects 
>>>>> and tests for each....  It would be nice to have a "quick check" (hello 
>>>>> world still works, basics are working) that was synchronously blocking of 
>>>>> such changes, and at least a daily verification that all's totally well 
>>>>> (AFAWK) for them all.
>>>>> 
>>>>> Not sure how this affects the still two-sided discussion...  :-)
>>>>> 
>>>>> Cheers,
>>>>> Mike
>>>>> 
>>>>> 
>>>>>> On 6/2/15 10:00 AM, Chris Hillery wrote:
>>>>>>> On Mon, Jun 1, 2015 at 9:46 PM, Yingyi Bu <[email protected]> wrote:
>>>>>>> 
>>>>>>> In my opinion,  merging the repository doesn't break the separation of
>>>>>>> hyracks and asterixdb, because the dependencies are controlled by mvn 
>>>>>>> pom
>>>>>>> files.
>>>>>>> 
>>>>>> That wasn't the separation I was talking about. I meant API separation. 
>>>>>> As
>>>>>> it is now, when we make a change to both Asterix and Hyracks, we are 
>>>>>> forced
>>>>>> to consider the API implications, or at least they are put out there in a
>>>>>> very clear way that we need to look at. If we merge them, people will
>>>>>> (rightly) treat the whole thing as one product, and there will be no 
>>>>>> brakes
>>>>>> on making wide-ranging API changes.
>>>>>> 
>>>>>> (As an aside: I don't trust Maven's pom files to do a good job of keeping
>>>>>> the dependency management clean. In fact I trust it to do precisely the
>>>>>> opposite, by making it both easier to screw up the dependencies and 
>>>>>> harder
>>>>>> to update them in future.)
>>>>>> 
>>>>>> Again, my point is this: If we truly believe that Hyracks is a re-usable
>>>>>> component, it should be treated as such from source to build to delivery.
>>>>>> By merging in Asterix, we are saying that Asterix is "more equal" than
>>>>>> others Hyracks clients, to the point that we're tacitly willing to break
>>>>>> those other clients in favor of simplifying Asterix development. If that 
>>>>>> is
>>>>>> a fair and true statement, well, then, sure, let's merge them.
>>>>>> 
>>>>>> 1) It forces those hyracks-only changes to pass asterixdb regression
>>>>>>> tests.  Currently hyracks-only change are not verified by asterixdb 
>>>>>>> tests.
>>>>>>> 
>>>>>> This is a good point, I will admit. However, I think this same goal can 
>>>>>> be
>>>>>> met in other ways. My strong preference would be to create a set of true
>>>>>> API tests inside of Hyracks, which both document and test the external
>>>>>> Hyracks API. That will make API-breaking changes in future much easier to
>>>>>> spot, and also make it clear when Asterix is using internal APIs that it
>>>>>> should not.
>>>>>> 
>>>>>> 
>>>>>>> 2) On my local machine,  I don't need to always install hyracks and then
>>>>>>> verify asterixdb from time to time.  Especially, switching branches 
>>>>>>> seems
>>>>>>> painful because the installed hyracks snapshot is overwritten from time 
>>>>>>> to
>>>>>>> time.
>>>>>>> 
>>>>>> I haven't tried working on multiple Hyracks branches at the same time, 
>>>>>> so I
>>>>>> haven't experienced this. This seems like a working method error, though.
>>>>>> If you're working with two things that are "the same version" (even if
>>>>>> that's a snapshot version), you'll need to use separate Maven 
>>>>>> repositories
>>>>>> to install them. In fact, merging the two git repositories would do 
>>>>>> nothing
>>>>>> to fix this problem, will it? If the proposal is to put the two source
>>>>>> repositories in the same git repo but otherwise leave them untouched, 
>>>>>> then
>>>>>> nothing would change in the build process. It's possible I'm missing
>>>>>> something there, though.
>>>>>> 
>>>>>> 
>>>>>>> 3) I only need to make one code review request and one jenkins job.
>>>>>>> Currently I need to manually change the topic of my asterixdb gerrit CL
>>>>>>> every time before I update my hyracks CL, and then manually schedule
>>>>>>> jenkins to run a new asterixdb job.  If I forget to schedule the jenkins
>>>>>>> job, the asterixdb CL is still shown to be "verified by jenkins".
>>>>>>> 
>>>>>> This is a problem, but it's a problem in commit validation, not in the
>>>>>> source. Modifying the source to work around these issues is still a bad
>>>>>> idea IMHO.
>>>>>> 
>>>>>> The "change-topic" issue could be fixed with a bit of development work
>>>>>> (have the topic point to a change, rather than a specific patchset on the
>>>>>> change, so you only need to set it once, for instance).
>>>>>> 
>>>>>> As for manually scheduling Asterix Jenkins jobs, that sounds like it's 
>>>>>> only
>>>>>> a problem where your Hyracks change breaks an existing public API. That
>>>>>> would be obviated by having true API testing inside of Hyracks, which is
>>>>>> something that we should have regardless of any decisions about source
>>>>>> locations.
>>>>>> 
>>>>>> In summary / repeating myself again: yes, we have some problems because
>>>>>> Hyracks and Asterix are in seperate repositories. But those problems are
>>>>>> pointing out true issues with our development and processes. Merging the
>>>>>> repositories isn't fixing those problems, it's sweeping them under the 
>>>>>> rug.
>>>>>> Long term we would be much better off to identify, isolate, and fix the
>>>>>> problems themselves.
>>>>>> 
>>>>>> Ceej
>>>>>> aka Chris Hillery
>>>>>> 
>>>>> 
>>>> 
>>>> Best regards,
>>>> Ildar
>>>> 
>>> 
>> 
>> Best regards,
>> Ildar
>> 
> 

Reply via email to