Based on the comments in https://issues.apache.org/jira/browse/ACCUMULO-4828, the update to 2.2 did not solve the issues. Seems like reverting back to 2.1 might be in order for the short term.
> On October 26, 2018 at 1:32 PM Andrew Hulbert <andrew.hulb...@ccri.com > mailto:andrew.hulb...@ccri.com > wrote: > > > Matt, > > We are running into similar issues with the 2.2 VFS jar running on > Accumulo 1.9.2 after upgrading from 1.8.1 but have been restarting > tservers to work around it and other issues with putting the iterators > in /tmp on certain systems. > > In general though we love it because we can run multiple versions of > iterators on the same cluster and we have it deployed on several systems > with our clients for that specific use case. > > Sean/Chris, if we rip it out would you imagine iterators being more like > HBase where you are basically bound to the startup classpath as the > baseline mechanism (with user-enabled specific class loaders). Or do you > imagine another upgrade/configuration mechanism? FYI we do VFS and the > general accumulo mechanism for configuring iterators and the iterator > api design because its pretty user/developer friendly. > > Thanks, > > Andrew > > > On 10/24/2018 10:55 PM, Christopher wrote: > > > > The idea that Dave is talking about is that I don't think we > should be > > doing any classloader special sauce in accumulo-start at all, and we > > might even be able to remove accumulo-start as a module entirely, > > since this is its primary (sole?) purpose. > > > > > > > > It's just a rough idea that I've tossed around with a few people, > but > > haven't really spent any time materializing it into a proposal, PR, > > or > > experiment. Basically, I think we should rip out all classloader > > special sauce. If a user still wishes to use a custom classloader > > for > > any reason, using vfs2 or anything else, they can set a system class > > loader with -Djava.system.class.loader=my.custom.CustomClassLoader > > when they run java. This is an advanced Java option supported by > > Java > > itself, and really shouldn't be a problem to punt this downstream. > > Classloading is way outside the scope of what Accumulo does anyway, > > and Accumulo should have its complexity centered around what it > > does, > > and not "bells and whistles" on top of basic Java language > > functions. > > > > > > > > If we wanted to, we could use our current classloading code to > create > > a classloader which could be used this way... and maybe provide it > > as > > an example or explain it in a blog post. But, Accumulo shouldn't be > > doing special sauce class loading... there are other projects that > > are > > better suited to specializing that for any Java application... and > > there's no reason we need it so tightly coupled to Accumulo. > > > > > > > > Of course, there's still some utility in the per-table context > > classloaders for pluggable components like iterators... and there's > > probably room for improvement in the configuration of those... but > > the > > main startup classloading is probably best to rip out. > > > > > > > > I'm not sure if it should be done for 2.0 or not... maybe yes. > I'd be > > willing to rip it out... I enjoy ripping things out and reducing > > code > > complexity. But, I don't really have a desire to do the work of > > implementing or blogging about alternatives, if that's even > > necessary. > > I'd hope that somebody else would do that, if they felt it was > > really > > necessary once the built-in stuff was ripped out. For me, I'd be > > happy > > mentioning the feature in the release notes, maybe linking to the > > docs > > on the feature, and leaving implementation as an exercise for > > downstream, with an open invitation for a guest blog on our website > > about how it could be done. > > > > > > > > I've been thinking we're probably going to want a second alpha... > or a > > beta, before 2.0 final... and if we did this for 2.0, I'd definitely > > want another pre-release release first. > > > > > > > > On Wed, Oct 24, 2018 at 3:10 PM Dave Marion <dmario...@gmail.com > mailto:dmario...@gmail.com > wrote: > > > > > > > I have talked with Christopher about the VFS class loader > > in general and I > > > think he has a good approach. He can elaborate further if > > > needed, but the > > > approach is to move it out of the core project and allow > > > users to configure > > > it at runtime using the java.system.class.loader system > > > property. There are > > > organizations using the VFSClassloader successfully, maybe it > > > just needs to > > > be reimplemented. > > > > > > > > > > > >> On Wed, Oct 24, 2018 at 2:58 PM Sean Busbey > > <bus...@cloudera.com.invalid mailto:bus...@cloudera.com.invalid > > >> wrote: > >> > >>> sounds like a good DISCUSS thread for 2.0? > >>> On Wed, Oct 24, 2018 at 1:43 PM Josh Elser <els...@apache.org > mailto:els...@apache.org > wrote: > >>>> It seems like commons-vfs2 is just a pile of crap. > >>>> > >>>> It's been known to have bugs for years and we've seen zero progress > from > >>>> them on making them better. > >>>> > >>>> IMO, rip the whole damn thing out. > >>>> > >>>> On 10/24/18 12:42 PM, Matthew Peterson wrote: > >>>>> Hello Accumulo, > >>>>> > >>>>> Summary: commons-vfs2 version 2.2 seems to have problems and it may > be > >>>>> worth rolling back to version 2.1 of commons-vfs2. > >>>>> > >>>>> My project upgraded a system from Accumulo 1.8.1 to 1.9.2. > Immediately > >>>>> after switching vfs contexts we saw problems. The tservers would > >>> error in > >>>>> iterators about missing classes that were clearly on the classpath. > >>> The > >>>>> problems were persistent until we replaced the commons-vfs2.jar with > >>>>> version 2.1 (Accumulo 1.9.2 uses version 2.2). Until we rolled vfs > >>> back, > >>>>> we received errors particularly with Spring code trying to access > >>> various > >>>>> classes and files within the jars. It looks like in 2.2, commons-vfs > >>>>> implemented a doDetach method which closed the zip files. We suspect > >>> that > >>>>> code is the problem but haven't tested that theory. > >>>>> > >>>>> I suspect that most users don't use this feature. > >>>>> > >>>>> Thanks! > >>>>> Matt > >>>>> > >>> > >>> > >>> -- > >>> busbey > >>> >