-
Notifications
You must be signed in to change notification settings - Fork 361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix GeoWave Tests #1665
Fix GeoWave Tests #1665
Conversation
* SimpleFeatureType serializer. This makes use of the | ||
* encoding/decoding machinery provied by GeoTools. | ||
*/ | ||
private class SimpleFeatureTypeSerializer extends Serializer[SimpleFeatureType] { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Iin fact SimpleFeatureType
is serializable well itself though requires UnmodifiableCollections kryo serializer. I did so in a GeoMesa subproject. Mb it's a good idea to put this SimpleFeatureTypeSerializer
into geotools
project, or somewhere to be available from both GeoWave and GeoMesa subprojects?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for the pointer, I will give that a try.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I decided to remove the custom serializer and replace it with the javakaffe one.
@@ -93,8 +62,8 @@ class GeoWaveFeatureRDDReaderSpec extends FunSpec { self: Suite => | |||
.map { x: Int => Feature(Point(x, 40), Map[String, Any]()) } | |||
.toArray | |||
val featureRDD = sc.parallelize(features) | |||
val zookeeper = "localhost:20000" | |||
val instanceName = "AccumuloInstance" | |||
val zookeeper = "localhost:21810" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we use Accumulo Mock instance? (iterators would be available, if they would be included as a dep in tests)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That would be great, but unfortunately I was not able to get that to work. It is sufficient to allow the vector and attribute store tests to run, but not the raster ones.
+1, can you create an issue that references this PR and the GeoWave issue, that keeps track of changing the tests back to using a not-old GeoWave once that issue gets resolved? |
This PR does not actually change the version of GeoWave that is used. When one builds a compatible version of GeoWave locally and applies the diff at bottom of the PR description, then tests run successfully. I did not include the diff in PR, because it is my hope that some future version of GeoWave will again be compatible and no changes will be needed. The code and the tests compile with the current GeoWave snapshot, they just do not function. I created an issue #1669 to keep track of that. |
This allows the tests in the GeoWave subproject to pass. Because there is currently an incompatibility with the latest versions of GeoWave, an older version of GeoWave must (currently) be built and installed in one's local
~/.m2
repository. The complete sequence is:make world
.docker run -td --restart=always --net=geowave -p 50095:5009 -p 21810:2181 -p 9997:9997 -p 9999:9999 --hostname leader --name leader jamesmcclain/geowave:c127c16
to start a local GeoWave instanceecho leader localhost > /tmp/hostaliases
to create a host aliases fileHOSTALIASES=/tmp/hostaliases ./sbt -J-Xmx2G "project geowave" clean test
to run the tests