Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [ecf-dev] Discovery provider's Zookeeper dependency

Yes that sounds logical but it is not trivial. We have looked at this several times. IIRC There was an API class removed. The fastest would be to use the latest 3.3

Yuriy to test, you can also include the latest Zookeeper in your own bundle, add it to the classpath in the manifest editor and export all packages.

Cheers,

Wim

On Fri, Apr 17, 2015 at 7:39 PM, Yuriy Lopotun <yuriy.lopotun@xxxxxxxxx> wrote:
Hi Scott,

Yes, the specific Zookeeper enhancement I mentioned was introduced in 3.3.4 and should exist in all consequent versions. Specifically I checked 3.4.5 and it's there - so it'll fulfil our needs.
And I agree with you that it's probably worth upgrading to the most recent Zookeeper version that doesn't require major changes in the ECF Zookeeper-based discovery provider.

Yuriy 

2015-04-17 12:58 GMT-04:00 Scott Lewis <slewis@xxxxxxxxxxxxx>:

By examining the orbit repos here:

http://download.eclipse.org/tools/orbit/downloads/

It seems that the latest version of Zookeeper that's already in Orbit is 3.4.5:

http://download.eclipse.org/tools/orbit/downloads/drops/R20150124073747/

(same for latest integration, so wrt zk nothing has been added since the above release build)

Would it be possible to reuse 3.4.5 to meet people's needs?   It is going to be a long road to getting 3.3.4 into Orbit (it seems extremely unlikely to me that it could happen before Mars, even if it was 'Orbit-ready'), and even once ready I'm sure there are other reasons to upgrade to 3.4.x...e.g. other Zookeeper bugs.

So before Yuriy or anyone does any work on getting an older version of Zookeeper into Orbit, I think we should do everything we can...as quickly as we can given Mars deadlines...to investigate if 3.4.5 could be used.  

Questions for Wim:   What is the status of the patch [2]?   Is it working according to tests?   If not what else is needed?  Do you expect it will work (or perhaps it's been tried) with 3.4.5 from Orbit?   And a related question:  Do you have any contact with Gunnar (Orbit committer that maintains Zookeeper)?   Perhaps he can/could shed some light on Yuiriy's suggested changes and/or assist with finalizing the patch.

Questions for Yuriy:   What would it take to fulfill your needs WRT Zookeeper...short of getting 3.3.4 into Orbit?  Do you expect 3.4.5/x could work for you?   Wouldn't it ultimately be better to migrated to more recent versions of Zookeeper?

Summary:   Let's jointly figure out if we can move to 3.4.x and meet the needs here...as it's the only path I can see that's at all feasible for Mars.  I will do all the IP stuff (piggyback CQs, etc) once we figure out what Orbit version we can use, and I will offer to help with any needed programming and/or testing...but I'm not the expert WRT the zk/zk provider codebase, so I can't do it myself.  But I do think this is a good case where a little effort and some good ol open source collaboration magic could work wonders.

Scott


On 4/17/2015 1:01 AM, Wim Jongman wrote:
Hi Yuriy,

We use the zookeeper bundle from Orbit which makes an OSGi bundle from the (maven) jar. In Orbit, there is no 3.3.4 bundle but we could provide a patch to get it there. In fact, why not switch to the latest 3.3.6?

We do not use a patched version of ZK but I think when the Orbit committers put a jar in Orbit, they export every package by default. When I look at the 3.4.6 [3] jar, you can see that every package is exported (more than in the original jar).

To be short, if you want to use a 3.3.4, or 3.3.6 we have to prepare an Orbit bundle. How this is done can be seen from the Orbit wiki [4]. Let me know if you want to work on this. Please file a bug if you do.

Cheers,

Wim

On Fri, Apr 17, 2015 at 6:30 AM, Yuriy Lopotun <yuriy.lopotun@xxxxxxxxx> wrote:
Hey guys,

ECF Zookeeper-based discovery provider by default brings in Zookeeper bundle v.3.3.3, but as per its manifest accepts any versions in the range [3.3.3,3.4.0).
In our application we'd like to use v.3.3.4, as it includes an important fix for us - in case of session timeout it closes socket connection asynchronously.

So, I tried excluding a transitive Zookeeper v.3.3.3 dependency and adding the one of v.3.3.4 instead.
What I noticed is that Zookeeper artifact groupId has changed since version 3.3.1 from org.apache.hadoop to org.apache.zookeeper. I couldn't even find the one ECF discovery provider is using (org.apache.hadoop.Zookeeper v.3.3.3) in the maven central.
I could only find org.apache.zookeeper.Zookeeper v.3.3.3.

What's even more important is that these two bundles are different. E.g. org.apache.hadoop.Zookeeper v.3.3.3 exports org.apache.zookeeper.server.persistence package used by the ECF discovery provider, while org.apache.zookeeper.Zookeeper v.3.3.3 (and v.3.3.4 as well) doesn't.

So, it looks like we are using a customized version of the Zookeeper bundle and I can't use the native org.apache.zookeeper.Zookeeper bundle?
Will appreciate you suggestion on how I can integrate the native Zookeeper v.3.3.4 (or, if we have the patched one for v.3.3.4 - it would also suit).

Thanks,
Yuriy

_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev



_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


_______________________________________________
ecf-dev mailing list
ecf-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/ecf-dev


Back to the top