24.2. Version 6.0.0

24.2.1. Minimum Java Version

With the latest versions of GeoTools and GeoServer, Java 17 is now the minimum required version.

24.2.2. Accumulo Version Support

GeoMesa no longer supports Accumulo 2.0. Users should upgrade to Accumulo 2.1.4.

24.2.3. Kafka Zookeeper Deprecation

As Kafka 4+ no longer supports Zookeeper, GeoMesa has deprecated support for using Zookeeper with the Kafka data store. See Migration from Zookeeper for details on migrating.

24.2.4. Dependency Version Upgrades

The following dependencies have been upgraded:

  • commons-codec 1.17.1 -> 1.18.0

  • commons-lang 3.15.0 -> 3.20.0

  • commons-logging 1.3.3 -> 1.3.5

  • commons-text 1.12.0 -> 1.13.0

  • geotools 33.2 -> 34.2

  • kafka 3.9.0 -> 3.9.1

  • micrometer 1.15.4 -> 1.16.0

  • nifi 2.6.0 -> 2.7.2

  • orc 1.9.7 -> 1.9.8

  • prometheus 1.4.1 -> 1.4.3

  • rhino 1.7.14 -> 1.8.1

  • scala 2.12 2.12.19 -> 2.12.20

  • scala 2.13 2.13.12 -> 2.13.16

  • sedona 1.8.0 -> 1.8.1

  • spark 3.5.5 -> 3.5.7

  • zookeeper 3.9.3 -> 3.9.4

24.2.5. StrategyDecider API Update

The org.locationtech.geomesa.index.planning.StrategyDecider API has been changed slightly to provide more context for implementations to use. The old API method has been deprecated and will be removed in a future version.

24.2.6. Spark Runtime JAR Changes

The various GeoMesa Spark runtime JARs have changed Maven coordinates, and now use a runtime classifier:

  • org.locationtech.geomesa:geomesa-accumulo-spark-runtime-accumulo21_2.12:jar -> org.locationtech.geomesa:geomesa-accumulo-spark_2.12:jar:runtime

  • org.locationtech.geomesa:geomesa-fs-spark-runtime_2.12:jar -> org.locationtech.geomesa:geomesa-fs-spark_2.12:jar:runtime

  • org.locationtech.geomesa:geomesa-gt-spark-runtime_2.12:jar -> org.locationtech.geomesa:geomesa-gt-spark_2.12:jar:runtime

  • org.locationtech.geomesa:geomesa-hbase-spark-runtime-hbase2_2.12:jar -> org.locationtech.geomesa:geomesa-hbase-spark_2.12:jar:runtime

24.2.7. Removed Modules

The following modules have been removed:

  • geomesa-accumulo-spark-runtime-accumulo21 (see above)

  • geomesa-fs-spark-runtime (see above)

  • geomesa-gt-spark-runtime (see above)

  • geomesa-hbase-spark-runtime-hbase2 (see above)

  • geomesa-metrics-core

  • geomesa-metrics-cloudwatch

  • geomesa-metrics-graphite

  • geomesa-metrics-prometheus

  • geomesa-process-wps

  • geomesa-zk-utils

The following JAR classifiers are no longer published:

  • geomesa-accumulo-datastore:tests

  • geomesa-fs-datastore:tests

  • geomesa-hbase-datastore:tests

  • geomesa-index-api:tests

  • geomesa-kafka-datastore:tests

  • geomesa-tools:data

24.2.8. Deprecated Classes

  • org.locationtech.geomesa.fs.data.FileSystemDataStoreFactory.FileSystemDataStoreParams - replaced with org.locationtech.geomesa.fs.data.FileSystemDataStoreParams

  • org.locationtech.geomesa.fs.storage.common.observer.FileSystemObserverFactory - replaced with org.locationtech.geomesa.fs.storage.api.observer.FileSystemObserverFactory

  • org.locationtech.geomesa.security.SecureSimpleFeature

  • org.locationtech.geomesa.utils.stats.Cardinality - replaced with org.locationtech.geomesa.utils.index.Cardinality

  • org.locationtech.geomesa.utils.stats.IndexCoverage - replaced with org.locationtech.geomesa.utils.index.IndexCoverage

24.2.9. Deprecated Methods

  • org.locationtech.geomesa.index.planning.StrategyDecider.selectFilterPlan

24.2.10. Internal API Changes

GeoMesa does not have a well-defined public API. This section details classes and methods that have been changed or removed, but are not meant to be publicly available.

24.2.10.1. Relocated Classes

  • org.locationtech.geomesa.fs.storage.common.AbstractFileSystemStorage.FileSystemPathReader -> org.locationtech.geomesa.fs.storage.api.FileSystemStorage.FileSystemPathReader

  • org.locationtech.geomesa.fs.storage.orc.OrcFileSystemReader -> org.locationtech.geomesa.fs.storage.orc.io

  • org.locationtech.geomesa.fs.storage.orc.OrcFileSystemStorage type description methods moved to -> org.locationtech.geomesa.fs.storage.orc.io.SimpleFeatureTypeDescription

  • org.locationtech.geomesa.fs.storage.orc.OrcFileSystemWriter -> org.locationtech.geomesa.fs.storage.orc.io

  • org.locationtech.geomesa.fs.storage.orc.utils.OrcAttributeWriter -> org.locationtech.geomesa.fs.storage.orc.io

  • org.locationtech.geomesa.fs.storage.orc.utils.OrcSearchArguments -> org.locationtech.geomesa.fs.storage.orc.io

  • org.locationtech.geomesa.fs.storage.parquet.ParquetFileSystemStorage.ParquetFileSystemWriter -> org.locationtech.geomesa.fs.storage.parquet.io

  • org.locationtech.geomesa.fs.storage.parquet.ParquetPathReader -> org.locationtech.geomesa.fs.storage.parquet.io.ParquetFileSystemReader

  • org.locationtech.geomesa.fs.storage.parquet.SimpleFeatureParquetWriter -> org.locationtech.geomesa.fs.storage.parquet.io

  • org.locationtech.geomesa.index.planning.QueryPlanner.CostEvaluation -> org.locationtech.geomesa.index.planning.StrategyDecider.CostEvaluation

  • org.locationtech.geomesa.utils.index.SizeSeparatedBucketIndex -> org.locationtech.geomesa.memory.index.impl

  • org.locationtech.geomesa.utils.index.BucketIndex -> org.locationtech.geomesa.memory.index.impl

  • org.locationtech.geomesa.utils.index.WrappedQuadTree -> org.locationtech.geomesa.memory.index.impl

  • org.locationtech.geomesa.utils.index.WrappedSTRtree -> org.locationtech.geomesa.memory.index.impl

  • org.locationtech.geomesa.utils.io.IncrementingFileName -> org.locationtech.geomesa.tools.export

  • org.locationtech.geomesa.utils.iterators.SimplePlaybackIterator -> org.locationtech.geomesa.kafka.tools.ingest

  • org.locationtech.geomesa.utils.iterators.SortedMergeIterator -> org.locationtech.geomesa.index.view

  • org.locationtech.geomesa.utils.kryo.NonMutatingInput -> org.locationtech.geomesa.features.kryo.impl

  • org.locationtech.geomesa.utils.metrics.MetricsTags -> org.locationtech.geomesa.metrics.micrometer.utils.TagUtils

  • org.locationtech.geomesa.utils.stats -> org.locationtech.geomesa.index.stats and org.locationtech.geomesa.index.stats.impl

24.2.10.2. Removed Classes

  • org.locationtech.geomesa.accumulo.index.IndexValueEncoder

  • org.locationtech.geomesa.accumulo.util.TableUtils

  • org.locationtech.geomesa.convert2.metrics.ConverterMetrics

  • org.locationtech.geomesa.convert2.validators.IdValidator

  • org.locationtech.geomesa.filter.index.BucketIndexSupport

  • org.locationtech.geomesa.filter.index.SizeSeparatedBucketIndexSupport

  • org.locationtech.geomesa.fs.storage.common.AbstractFileSystemStorage.FileSystemPathReader

  • org.locationtech.geomesa.gt.partition.postgis.dialect.tables.PartitionTablespacesTable

  • org.locationtech.geomesa.hbase.utils.HBaseVersions

  • org.locationtech.geomesa.index.planning.LocalQueryRunner.LocalTransformReducer

  • org.locationtech.geomesa.metrics.micrometer.MicrometerSetup

  • org.locationtech.geomesa.security.VisibilityEvaluator

  • org.locationtech.geomesa.tools.utils.StorageJobUtils

  • org.locationtech.geomesa.utils.cache.ByteArrayCacheKey

  • org.locationtech.geomesa.utils.cache.FilePersistence

  • org.locationtech.geomesa.utils.cache.PropertiesPersistence

  • org.locationtech.geomesa.utils.collection.AtomicBitSet

  • org.locationtech.geomesa.utils.collection.ConcurrentHashSet

  • org.locationtech.geomesa.utils.collection.MaybeSynchronized

  • org.locationtech.geomesa.utils.collection.SelfClosingIterator

  • org.locationtech.geomesa.utils.collection.TieredOrdering

  • org.locationtech.geomesa.utils.conversions.ScalaImplicits

  • org.locationtech.geomesa.utils.geohash.CoveringGeoHashes

  • org.locationtech.geomesa.utils.geohash.GeomDistance

  • org.locationtech.geomesa.utils.geohash.VincentyModel

  • org.locationtech.geomesa.utils.geometry.DistanceCalculator

  • org.locationtech.geomesa.utils.index.SpatialIndexSupport

  • org.locationtech.geomesa.utils.index.SynchronizedQuadtree

  • org.locationtech.geomesa.utils.io.ByteBuffers

  • org.locationtech.geomesa.utils.iterators.PlaybackIterator

  • org.locationtech.geomesa.utils.metrics.Timing

  • org.locationtech.geomesa.utils.metrics.Timings

  • org.locationtech.geomesa.utils.metrics.TimingsImpl

  • org.locationtech.geomesa.utils.stats.AutoLoggingTimings

  • org.locationtech.geomesa.utils.stats.CountingInputStream

  • org.locationtech.geomesa.utils.stats.NoOpTimings

  • org.locationtech.geomesa.utils.stats.ThreadSafeTimingsImpl

  • org.locationtech.geomesa.utils.text.ObjectPoolFactory

24.2.10.3. Removed Methods

  • org.locationtech.geomesa.accumulo.data.AccumuloDataStoreFactory - various system properties

  • org.locationtech.geomesa.accumulo.data.AccumuloDataStoreParams.InstanceIdParam

  • org.locationtech.geomesa.accumulo.jobs.AccumuloJobUtils#getMultipleQueryPlan

  • org.locationtech.geomesa.accumulo.jobs.AccumuloJobUtils#getSingleQueryPlan

  • org.locationtech.geomesa.arrow.io.FormatVersion.LatestVersion

  • org.locationtech.geomesa.convert.ConverterConfigLoader#rebaseConfig

  • org.locationtech.geomesa.convert.all.TypeAwareInference#infer(String,() => InputStream,Option[SimpleFeatureType],Option[String])

  • org.locationtech.geomesa.convert2.SimpleFeatureConverter#createEvaluationContext(Map,Counter,Counter)

  • org.locationtech.geomesa.convert2.SimpleFeatureConverterFactory#infer(InputStream,Option[SimpleFeatureType],Option[String])

  • org.locationtech.geomesa.filter.filterToString

  • org.locationtech.geomesa.fs.data.FileSystemDataStore#this(FileContext)

  • org.locationtech.geomesa.fs.storage.common.partitions.DateTimeScheme#apply(DateTimeFormatter)

  • org.locationtech.geomesa.hbase.data.HBaseDataStoreFactory - various system properties

  • org.locationtech.geomesa.index.geotools.GeoMesaDataStore#queryPlanner

  • org.locationtech.geomesa.index.planning.LocalQueryRunner#visible

  • org.locationtech.geomesa.index.planning.QueryPlanner - most static methods

  • org.locationtech.geomesa.index.planning.QueryRunner#configureDefaultQuery

  • org.locationtech.geomesa.kafka.data.KafkaDataStore#producer(KafkaDataStoreConfig)

  • org.locationtech.geomesa.kafka.utils.GeoMessageSerializer#apply(SimpleFeatureType, SerializationType, Boolean)

  • org.locationtech.geomesa.lambda.stream.kafka.KafkaStore#topic

  • org.locationtech.geomesa.security#getAuthorizationsProvider

  • org.locationtech.geomesa.utils.bin.BinaryOutputEncoder#encode(CloseableIterator,OutputStream,Boolean)

  • org.locationtech.geomesa.utils.conf.ConfConversions.RichConfig - various methods

  • org.locationtech.geomesa.utils.geohash.BoundingBox - various unused methods

  • org.locationtech.geomesa.utils.geohash.GeoHash - various unused methods

  • org.locationtech.geomesa.utils.geohash.GeohashUtils - various unused methods

  • org.locationtech.geomesa.utils.geotools.FeatureUtils#copyToWriter

  • org.locationtech.geomesa.utils.io.CompressionUtils#compress(InputStream)

  • org.locationtech.geomesa.utils.io.fs.FileSystemDelegate.FileHandle#write(CreateMode,Boolean)