[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [geomesa-users] GEOMESA Illegal state exception when creating schema
|
Hi David,
Let's see... that exception is happening because the BatchWriter is
already closed. My quick guess is that your unit test suite is running
in parallel and a BatchWriter is being shared somewhere. As quick fix
for the unit test would be to run the various test sequentially.
If that's not it or if the unit test is reflecting typical use, then
you'll want to run down the sharing. It could be happening in the
GeoMesa libraries or in your application. If it is in GeoMesa, it'd
definitely help to identify a minimal code example to re-create the bug.
I hope that helps!
Cheers,
Jim
On 4/8/2017 12:33 PM, David Boyd wrote:
All:
This one has me stumped. Now this basic code has been working
for some time, and I have successfully created
multiple schemas and searched those.
Any thoughts on what would cause this?
This is happening in one of my integration tests.
Geomesa 1.3.1 and Accumulo 1.7.2
java.lang.IllegalStateException: Closed
at
org.apache.accumulo.core.client.impl.TabletServerBatchWriter.addMutation(TabletServerBatchWriter.java:248)
at
org.apache.accumulo.core.client.impl.BatchWriterImpl.addMutation(BatchWriterImpl.java:43)
at
org.locationtech.geomesa.accumulo.data.AccumuloMetadataAdapter$$anonfun$write$1.apply(AccumuloBackedMetadata.scala:47)
at
org.locationtech.geomesa.accumulo.data.AccumuloMetadataAdapter$$anonfun$write$1.apply(AccumuloBackedMetadata.scala:44)
at
scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at
scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at
org.locationtech.geomesa.accumulo.data.AccumuloMetadataAdapter$class.write(AccumuloBackedMetadata.scala:44)
at
org.locationtech.geomesa.accumulo.data.AccumuloBackedMetadata.write(AccumuloBackedMetadata.scala:22)
at
org.locationtech.geomesa.index.metadata.CachedLazyMetadata$class.insert(CachedLazyMetadata.scala:82)
at
org.locationtech.geomesa.accumulo.data.AccumuloBackedMetadata.insert(AccumuloBackedMetadata.scala:22)
at
org.locationtech.geomesa.index.geotools.GeoMesaDataStore.writeMetadata(GeoMesaDataStore.scala:523)
at
org.locationtech.geomesa.index.geotools.GeoMesaDataStore.createSchema(GeoMesaDataStore.scala:144)
at
org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:128)
at
org.locationtech.geomesa.accumulo.data.AccumuloDataStore.createSchema(AccumuloDataStore.scala:48)
at
com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.createFeatureSet(AccumuloPersistor.java:691)
at
com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.createSearchTables(AccumuloPersistor.java:620)
at
com.incadencecorp.coalesce.framework.persistance.accumulo.AccumuloPersistor.saveTemplate(AccumuloPersistor.java:542)
at
com.incadencecorp.coalesce.framework.persistance.CoalescePersistorBase.saveTemplate(CoalescePersistorBase.java:239)
at
com.incadencecorp.coalesce.framework.CoalesceFramework.saveCoalesceEntityTemplate(CoalesceFramework.java:540)
at
com.incadencecorp.coalesce.framework.persistance.accumulo.AbstractAccumuloPersistorTest.testPersistRetrieveSearchEntity(AbstractAccumuloPersistorTest.java:357)
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:498)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:86)
at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)
at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)