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. FileSystem Data Store Compatibility¶
The file system data store has been substantially rewritten to improve performance. As part of that, the Orc file format is no
longer supported. In addition, feature types created with previous versions of GeoMesa will not be readable. To migrate existing
data, re-create the schema using the latest GeoMesa version, then use the manage-metadata register CLI command to re-register
the existing data files.
24.2.5. Default Secondary Attribute Index Changes¶
When creating attribute indices, the default secondary index will now be a date-only index, instead of a spatio-temporal index
(e.g. attr:foo:dtg instead of attr:foo:geom:dtg). The old behavior can still be achieved by configuring secondary
attributes - see Specifying the Indices to Include for details.
24.2.6. Dependency Version Upgrades¶
The following dependencies have been upgraded:
arrow
18.3.0->19.0.0commons-codec
1.17.1->1.18.0commons-lang
3.15.0->3.20.0commons-logging
1.3.3->1.3.5commons-text
1.12.0->1.13.0geotools
33.2->34.2hadoop
3.4.2->3.5.0jackson
2.19.0->2.21.1kafka
3.9.0->3.9.2micrometer
1.15.4->1.16.4nifi
2.6.0->2.7.2prometheus
1.4.1->1.5.1rhino
1.7.14->1.8.1scala 2.12
2.12.19->2.12.20scala 2.13
2.13.12->2.13.16sedona
1.8.0->1.8.1spark
3.5.5->3.5.7zookeeper
3.9.3->3.9.5
24.2.7. 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.8. 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:runtimeorg.locationtech.geomesa:geomesa-fs-spark-runtime_2.12:jar->org.locationtech.geomesa:geomesa-fs-spark_2.12:jar:runtimeorg.locationtech.geomesa:geomesa-gt-spark-runtime_2.12:jar->org.locationtech.geomesa:geomesa-gt-spark_2.12:jar:runtimeorg.locationtech.geomesa:geomesa-hbase-spark-runtime-hbase2_2.12:jar->org.locationtech.geomesa:geomesa-hbase-spark_2.12:jar:runtime
24.2.9. Removed Modules¶
The following modules have been removed:
geomesa-accumulo-spark-runtime-accumulo21(see above)geomesa-fs-spark-runtime(see above)geomesa-fs-storage-apigeomesa-fs-storage-commongeomesa-fs-storage-orcgeomesa-fs-storage-orc-iogeomesa-gt-spark-runtime(see above)geomesa-hbase-spark-runtime-hbase2(see above)geomesa-metrics-coregeomesa-metrics-cloudwatchgeomesa-metrics-graphitegeomesa-metrics-prometheusgeomesa-process-wpsgeomesa-zk-utils
The following JAR classifiers are no longer published:
geomesa-accumulo-datastore:testsgeomesa-fs-datastore:testsgeomesa-hbase-datastore:testsgeomesa-index-api:testsgeomesa-kafka-datastore:testsgeomesa-tools:data
24.2.10. Deprecated Classes¶
org.locationtech.geomesa.fs.data.FileSystemDataStoreFactory.FileSystemDataStoreParams- replaced withorg.locationtech.geomesa.fs.data.FileSystemDataStoreParamsorg.locationtech.geomesa.fs.storage.common.observer.FileSystemObserverFactory- replaced withorg.locationtech.geomesa.fs.storage.api.observer.FileSystemObserverFactoryorg.locationtech.geomesa.security.SecureSimpleFeatureorg.locationtech.geomesa.utils.stats.Cardinality- replaced withorg.locationtech.geomesa.utils.index.Cardinalityorg.locationtech.geomesa.utils.stats.IndexCoverage- replaced withorg.locationtech.geomesa.utils.index.IndexCoverage
24.2.11. Deprecated Methods¶
org.locationtech.geomesa.index.api.GeoMesaFeatureIndexFactory.availableorg.locationtech.geomesa.index.api.GeoMesaFeatureIndexFactory.indicesorg.locationtech.geomesa.index.planning.StrategyDecider.selectFilterPlan
24.2.12. Removal of Nailgun Support¶
The command-line tools no longer support using Nailgun to run a persistent service. Nailgun is no longer maintained, and doesn’t work with current Java versions.
24.2.13. 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.13.1. Relocated Classes¶
org.locationtech.geomesa.features.exporters.FileSystemExporter.ParquetFileSystemExporter->org.locationtech.geomesa.features.exporters.GeoParquetExporterorg.locationtech.geomesa.fs.storage.common.AbstractFileSystemStorage.FileSystemPathReader->org.locationtech.geomesa.fs.storage.api.FileSystemStorage.FileSystemPathReaderorg.locationtech.geomesa.fs.storage.parquet.ParquetFileSystemStorage.ParquetFileSystemWriter->org.locationtech.geomesa.fs.storage.parquet.ioorg.locationtech.geomesa.fs.storage.parquet.ParquetPathReader->org.locationtech.geomesa.fs.storage.parquet.io.ParquetFileSystemReaderorg.locationtech.geomesa.fs.storage.parquet.SimpleFeatureParquetWriter->org.locationtech.geomesa.fs.storage.parquet.ioorg.locationtech.geomesa.index.planning.QueryPlanner.CostEvaluation->org.locationtech.geomesa.index.planning.StrategyDecider.CostEvaluationorg.locationtech.geomesa.utils.index.SizeSeparatedBucketIndex->org.locationtech.geomesa.memory.index.implorg.locationtech.geomesa.utils.index.BucketIndex->org.locationtech.geomesa.memory.index.implorg.locationtech.geomesa.utils.index.WrappedQuadTree->org.locationtech.geomesa.memory.index.implorg.locationtech.geomesa.utils.index.WrappedSTRtree->org.locationtech.geomesa.memory.index.implorg.locationtech.geomesa.utils.iterators.SimplePlaybackIterator->org.locationtech.geomesa.kafka.tools.ingestorg.locationtech.geomesa.utils.iterators.SortedMergeIterator->org.locationtech.geomesa.index.vieworg.locationtech.geomesa.utils.kryo.NonMutatingInput->org.locationtech.geomesa.features.kryo.implorg.locationtech.geomesa.utils.metrics.MetricsTags->org.locationtech.geomesa.metrics.micrometer.utils.TagUtilsorg.locationtech.geomesa.utils.stats->org.locationtech.geomesa.index.statsandorg.locationtech.geomesa.index.stats.impl
24.2.13.2. Removed Classes¶
org.locationtech.geomesa.accumulo.index.IndexValueEncoderorg.locationtech.geomesa.accumulo.util.TableUtilsorg.locationtech.geomesa.convert2.metrics.ConverterMetricsorg.locationtech.geomesa.convert2.validators.IdValidatororg.locationtech.geomesa.features.exporters.FileSystemExporterorg.locationtech.geomesa.filter.index.BucketIndexSupportorg.locationtech.geomesa.filter.index.SizeSeparatedBucketIndexSupportorg.locationtech.geomesa.fs.storage.common.AbstractFileSystemStorage.FileSystemPathReaderorg.locationtech.geomesa.gt.partition.postgis.dialect.tables.PartitionTablespacesTableorg.locationtech.geomesa.hbase.utils.HBaseVersionsorg.locationtech.geomesa.index.planning.LocalQueryRunner.LocalTransformReducerorg.locationtech.geomesa.metrics.micrometer.MicrometerSetuporg.locationtech.geomesa.security.VisibilityEvaluatororg.locationtech.geomesa.tools.utils.StorageJobUtilsorg.locationtech.geomesa.utils.cache.ByteArrayCacheKeyorg.locationtech.geomesa.utils.cache.FilePersistenceorg.locationtech.geomesa.utils.cache.PropertiesPersistenceorg.locationtech.geomesa.utils.collection.AtomicBitSetorg.locationtech.geomesa.utils.collection.ConcurrentHashSetorg.locationtech.geomesa.utils.collection.MaybeSynchronizedorg.locationtech.geomesa.utils.collection.SelfClosingIteratororg.locationtech.geomesa.utils.collection.TieredOrderingorg.locationtech.geomesa.utils.conversions.ScalaImplicitsorg.locationtech.geomesa.utils.geohash.CoveringGeoHashesorg.locationtech.geomesa.utils.geohash.GeomDistanceorg.locationtech.geomesa.utils.geohash.VincentyModelorg.locationtech.geomesa.utils.geometry.DistanceCalculatororg.locationtech.geomesa.utils.index.SpatialIndexSupportorg.locationtech.geomesa.utils.index.SynchronizedQuadtreeorg.locationtech.geomesa.utils.io.ByteBuffersorg.locationtech.geomesa.utils.iterators.PlaybackIteratororg.locationtech.geomesa.utils.metrics.Timingorg.locationtech.geomesa.utils.metrics.Timingsorg.locationtech.geomesa.utils.metrics.TimingsImplorg.locationtech.geomesa.utils.stats.AutoLoggingTimingsorg.locationtech.geomesa.utils.stats.CountingInputStreamorg.locationtech.geomesa.utils.stats.NoOpTimingsorg.locationtech.geomesa.utils.stats.ThreadSafeTimingsImplorg.locationtech.geomesa.utils.text.ObjectPoolFactory
24.2.13.3. Removed Methods¶
org.locationtech.geomesa.accumulo.data.AccumuloDataStoreFactory- various system propertiesorg.locationtech.geomesa.accumulo.data.AccumuloDataStoreParams.InstanceIdParamorg.locationtech.geomesa.accumulo.jobs.AccumuloJobUtils#getMultipleQueryPlanorg.locationtech.geomesa.accumulo.jobs.AccumuloJobUtils#getSingleQueryPlanorg.locationtech.geomesa.arrow.io.FormatVersion.LatestVersionorg.locationtech.geomesa.convert.ConverterConfigLoader#rebaseConfigorg.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.filterToStringorg.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 propertiesorg.locationtech.geomesa.index.geotools.GeoMesaDataStore#queryPlannerorg.locationtech.geomesa.index.planning.LocalQueryRunner#visibleorg.locationtech.geomesa.index.planning.QueryPlanner- most static methodsorg.locationtech.geomesa.index.planning.QueryRunner#configureDefaultQueryorg.locationtech.geomesa.kafka.data.KafkaDataStore#producer(KafkaDataStoreConfig)org.locationtech.geomesa.kafka.utils.GeoMessageSerializer#apply(SimpleFeatureType, SerializationType, Boolean)org.locationtech.geomesa.lambda.stream.kafka.KafkaStore#topicorg.locationtech.geomesa.security#getAuthorizationsProviderorg.locationtech.geomesa.utils.bin.BinaryOutputEncoder#encode(CloseableIterator,OutputStream,Boolean)org.locationtech.geomesa.utils.conf.ConfConversions.RichConfig- various methodsorg.locationtech.geomesa.utils.geohash.BoundingBox- various unused methodsorg.locationtech.geomesa.utils.geohash.GeoHash- various unused methodsorg.locationtech.geomesa.utils.geohash.GeohashUtils- various unused methodsorg.locationtech.geomesa.utils.geotools.FeatureUtils#copyToWriterorg.locationtech.geomesa.utils.io.CompressionUtils#compress(InputStream)org.locationtech.geomesa.utils.io.fs.FileSystemDelegate.FileHandle#write(CreateMode,Boolean)