0

I'm trying Geomesa Kafka and the GeoMesa Kafka Quick Start tutorial. The producer writes features into Kafka data store and I can see new records in my Kafka topic. However, my consumer

...
SimpleFeatureSource consumerFS = consumer.getFeatureSource(sft.getTypeName());
...
try (SimpleFeatureIterator iterator = consumerFS.getFeatures().features()) {
                System.out.println("Current consumer state:");
                while (iterator.hasNext()) {
                    System.out.println(DataUtilities.encodeFeature(iterator.next()));
                }
            }

every time returns empty iterator ( iterator.hasNext()=null ).

What could be the reason?

P.S. Writing records to the producer's datastore, causes following WARN message:

o.l.g.f.k.s.KryoUserDataSerialization$   : Skipping serialization of entry: USE_PROVIDED_FID -> true
  • 1
    Which version of GeoMesa are you using? Also, which version of Kafka? – GeoMesaJim Jun 16 at 11:35
  • Kafka 2.5.0, Geomesa 3.0.0-SNAPSHOT – Timur Kobilov Jun 16 at 12:23
  • @GeoMesaJim it looks like a compatibility problem. I've just tried Geomessa with Kafka 2.1.1 and 2.2.1. Everything works fine. The problem appears on 2.5.0. – Timur Kobilov Jun 16 at 16:16
  • 2
    Thanks. GeoMesa 3.0 is compiled with Kafka 2.1.1 and Scala 2.11. Kafka 2.5 is the first Kafka version without Scala 2.11 supports. That may be part of the issue. – GeoMesaJim Jun 16 at 21:33
0

As noted in the comments, it is important to ensure that the versions of all components are compatible.

Quote @GeoMesaJim:

GeoMesa 3.0 is compiled with Kafka 2.1.1 and Scala 2.11. Kafka 2.5 is the first Kafka version without Scala 2.11 supports.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.