I believe that means you re-used the package org.apache.accumulo.core.util which was already defined in accumulo-core.jar.

Don't do that.

David Medinets wrote:
Thanks Josh. That explanation makes sense. I added the referenced
ClientThreads.shutdownNow() method to my code and ran into the
following:

    java.lang.SecurityException: sealing violation: package
org.apache.accumulo.core.util is sealed


I can live with this issue until v2.0 since it happens when the JVM is
exiting. And I'm just writing demonstration code for no particular
reason. At the least, we'll have a small project to test the fix
against.


On Sat, Nov 29, 2014 at 10:35 PM, Josh Elser<[email protected]>  wrote:
 From http://mojo.codehaus.org/exec-maven-plugin/usage.html,

"By default daemon threads are joined and interrupted once all known non
daemon threads have quitted"

So, your main thread finished, but before the exec plugin stopped the
application, it tried to interrupt the other non-daemon threads that were
still running (which should be a sign for them quit on their own).

However, it's a known issue[1] that we have ZooKeeper and Thrift resources
that are not cleaned up (a problem which is slated to be fixed by
Christopher's 2.0 API refactoring).

Hope that makes sense.

[1] https://issues.apache.org/jira/browse/ACCUMULO-2113


David Medinets wrote:
This might be a stupid David issue but it's at least marginally
related to Accumulo so I'm hoping someone will recognize the problem
and help.

I am seeing this error when my program is run via maven:

    java.lang.InterruptedException: sleep interrupted

The program connects to a MiniAccumuloCluster and creates a table if
it does not exist. The program works fine inside Netbeans.

In both NetBeans and Maven, the program connects to the
MiniAccumuloCluster just fine. The shutdown is the problem.

I have a github project which should demonstrate the issue.

# First clone the project
git clone https://github.com/medined/jodoc.git
cd jodoc

# Then build the java image
cd java_zulu7
./build_image.sh

# Then compile and create a jar file
mvn package

# Then build the jodoc image
./build_image.sh

# And run the jodoc image. This image runs a MiniAccumuloCluster
# using port 20000 for Zookeeper.
./run_image.sh

# Finally run the client program via Maven
mvn exec:java -Dexec.mainClass="com.codebits.jodoc.WriteAndReadDriver"
-DZOOKEEPER_PORT=20000

Here is the full error stack:

java.lang.InterruptedException: sleep interrupted
      at java.lang.Thread.sleep(Native Method)
      at
org.apache.accumulo.core.client.impl.ThriftTransportPool$Closer.closeConnections(ThriftTransportPool.java:137)
      at
org.apache.accumulo.core.client.impl.ThriftTransportPool$Closer.run(ThriftTransportPool.java:147)
      at java.lang.Thread.run(Thread.java:745)
2014-11-29 21:05:18,011 ERROR
[com.codebits.jodoc.WriteAndReadDriver.main()-EventThread]
zookeeper.ClientCnxn (ClientCnxn.java:run(513)) - Event thread exiting
due to interruption
java.lang.InterruptedException
      at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
      at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2048)
      at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
      at
org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)
2014-11-29 21:05:18,012 INFO
[com.codebits.jodoc.WriteAndReadDriver.main()-EventThread]
zookeeper.ClientCnxn (ClientCnxn.java:run(516)) - EventThread shut
down
2014-11-29 21:05:28,010 WARN
[com.codebits.jodoc.WriteAndReadDriver.main(localhost:20000)]
zookeeper.ClientCnxn (ClientCnxn.java:run(1185)) - Session
0x149fe6a2c5a0007 for server localhost/127.0.0.1:20000, unexpected
error, closing socket connection and attempting reconnect
java.nio.channels.ClosedByInterruptException
      at
java.nio.channels.spi.AbstractInterruptibleChannel.end(AbstractInterruptibleChannel.java:202)
      at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:477)
      at
org.apache.zookeeper.ClientCnxn$SendThread.doIO(ClientCnxn.java:890)
      at
org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1154)
2014-11-29 21:05:29,596 INFO
[com.codebits.jodoc.WriteAndReadDriver.main(localhost:20000)]
zookeeper.ClientCnxn (ClientCnxn.java:startConnect(1058)) - Opening
socket connection to server localhost/127.0.0.1:20000
2014-11-29 21:05:29,596 INFO
[com.codebits.jodoc.WriteAndReadDriver.main(localhost:20000)]
zookeeper.ClientCnxn (ClientCnxn.java:primeConnection(947)) - Socket
connection established to localhost/127.0.0.1:20000, initiating
session
2014-11-29 21:05:29,598 INFO
[com.codebits.jodoc.WriteAndReadDriver.main(localhost:20000)]
zookeeper.ClientCnxn (ClientCnxn.java:readConnectResult(736)) -
Session establishment complete on server localhost/127.0.0.1:20000,
sessionid = 0x149fe6a2c5a0007, negotiated timeout = 30000
[WARNING] thread

Thread[com.codebits.jodoc.WriteAndReadDriver.main(localhost:20000),5,com.codebits.jodoc.WriteAndReadDriver]
was interrupted but is still alive after waiting at least 15000msecs
[WARNING] thread

Thread[com.codebits.jodoc.WriteAndReadDriver.main(localhost:20000),5,com.codebits.jodoc.WriteAndReadDriver]
will linger despite being asked to die via interruption
[WARNING] thread Thread[Thrift Connection Pool
Checker,5,com.codebits.jodoc.WriteAndReadDriver] will linger despite
being asked to die via interruption
[WARNING] NOTE: 2 thread(s) did not finish despite being asked to  via
interruption. This is not a problem with exec:java, it is a problem
with the running code. Although not serious, it should be remedied.
[WARNING] Couldn't destroy threadgroup

org.codehaus.mojo.exec.ExecJavaMojo$IsolatedThreadGroup[name=com.codebits.jodoc.WriteAndReadDriver,maxpri=10]
java.lang.IllegalThreadStateException
      at java.lang.ThreadGroup.destroy(ThreadGroup.java:778)
      at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:328)
      at
org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:133)
      at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
      at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
      at
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
      at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:108)
      at
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:76)
      at
org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
      at
org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:116)
      at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:361)
      at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:155)
      at org.apache.maven.cli.MavenCli.execute(MavenCli.java:584)
      at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:213)
      at org.apache.maven.cli.MavenCli.main(MavenCli.java:157)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
      at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.lang.reflect.Method.invoke(Method.java:483)
      at
org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
      at
org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
      at
org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
      at
org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

----

Any ideas?

Reply via email to