[
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)