Jzjsnow opened a new pull request, #3600:
URL: https://github.com/apache/amoro/pull/3600
<!--
Thanks for sending a pull request!
Here are some tips for you:
1. If this is your first time, please read our contributor guidelines:
https://amoro.apache.org/how-to-contribute/
2. If the PR is related to an issue in
https://github.com/apache/amoro/issues, add '[AMORO-XXXX]' in your PR title,
e.g., '[AMORO-XXXX] Your PR title ...'.
3. If the PR is unfinished, add '[WIP]' in your PR title, e.g.,
'[WIP][AMORO-XXXX] Your PR title ...'.
-->
## Why are the changes needed?
The current version of kryo included in amoro is 4.0.3. After 2.24.0, the
groupId of kryo dependency has been changed to com.esotericsoftware (e.g.
com.esotericsoftware:kryo:4.0.3), which caused the previous exclusion to fail
to block kryo: 4.0.3 packaged into the flink optimizer dependency.
> $ jar tf
target/amoro-optimizer-flink-0.9-SNAPSHOT-jar-with-dependencies.jar | grep kryo
META-INF/maven/com.esotericsoftware/kryo/
com/esotericsoftware/kryo/
com/esotericsoftware/kryo/factories/
com/esotericsoftware/kryo/io/
com/esotericsoftware/kryo/pool/
com/esotericsoftware/kryo/serializers/
com/esotericsoftware/kryo/util/
META-INF/maven/com.esotericsoftware/kryo/pom.properties
META-INF/maven/com.esotericsoftware/kryo/pom.xml
com/esotericsoftware/kryo/ClassResolver.class
com/esotericsoftware/kryo/DefaultSerializer.class
com/esotericsoftware/kryo/Kryo$DefaultInstantiatorStrategy$1.class
com/esotericsoftware/kryo/Kryo$DefaultInstantiatorStrategy$2.class
com/esotericsoftware/kryo/Kryo$DefaultInstantiatorStrategy.class
com/esotericsoftware/kryo/Kryo$DefaultSerializerEntry.class
com/esotericsoftware/kryo/Kryo.class
com/esotericsoftware/kryo/KryoCopyable.class
com/esotericsoftware/kryo/KryoException.class
com/esotericsoftware/kryo/KryoSerializable.class
com/esotericsoftware/kryo/NotNull.class
com/esotericsoftware/kryo/ReferenceResolver.class
com/esotericsoftware/kryo/Registration.class
com/esotericsoftware/kryo/Serializer.class
com/esotericsoftware/kryo/StreamFactory.class
com/esotericsoftware/kryo/factories/PseudoSerializerFactory.class
com/esotericsoftware/kryo/factories/ReflectionSerializerFactory.class
com/esotericsoftware/kryo/factories/SerializerFactory.class
com/esotericsoftware/kryo/io/ByteBufferInput.class
com/esotericsoftware/kryo/io/ByteBufferInputStream.class
com/esotericsoftware/kryo/io/ByteBufferOutput.class
com/esotericsoftware/kryo/io/ByteBufferOutputStream.class
com/esotericsoftware/kryo/io/FastInput.class
com/esotericsoftware/kryo/io/FastOutput.class
com/esotericsoftware/kryo/io/Input.class
com/esotericsoftware/kryo/io/InputChunked.class
com/esotericsoftware/kryo/io/KryoDataInput.class
com/esotericsoftware/kryo/io/KryoDataOutput.class
com/esotericsoftware/kryo/io/KryoObjectInput.class
com/esotericsoftware/kryo/io/KryoObjectOutput.class
com/esotericsoftware/kryo/io/Output.class
com/esotericsoftware/kryo/io/OutputChunked.class
com/esotericsoftware/kryo/io/UnsafeInput.class
com/esotericsoftware/kryo/io/UnsafeMemoryInput.class
com/esotericsoftware/kryo/io/UnsafeMemoryOutput.class
com/esotericsoftware/kryo/io/UnsafeOutput.class
com/esotericsoftware/kryo/io/Util.class
com/esotericsoftware/kryo/pool/KryoCallback.class
com/esotericsoftware/kryo/pool/KryoFactory.class
com/esotericsoftware/kryo/pool/KryoPool$Builder.class
com/esotericsoftware/kryo/pool/KryoPool.class
com/esotericsoftware/kryo/pool/KryoPoolQueueImpl.class
com/esotericsoftware/kryo/pool/SoftReferenceQueue.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmBooleanField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmByteField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmCachedField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmCharField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmDoubleField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmFloatField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmIntField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmLongField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmObjectField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmShortField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields$AsmStringField.class
com/esotericsoftware/kryo/serializers/AsmCacheFields.class
com/esotericsoftware/kryo/serializers/AsmCachedFieldFactory.class
com/esotericsoftware/kryo/serializers/BeanSerializer$1.class
com/esotericsoftware/kryo/serializers/BeanSerializer$CachedProperty.class
com/esotericsoftware/kryo/serializers/BeanSerializer.class
com/esotericsoftware/kryo/serializers/BlowfishSerializer$1.class
com/esotericsoftware/kryo/serializers/BlowfishSerializer.class
com/esotericsoftware/kryo/serializers/ClosureSerializer$Closure.class
com/esotericsoftware/kryo/serializers/ClosureSerializer.class
com/esotericsoftware/kryo/serializers/CollectionSerializer$BindCollection.class
com/esotericsoftware/kryo/serializers/CollectionSerializer.class
com/esotericsoftware/kryo/serializers/CompatibleFieldSerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$BooleanArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$ByteArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$CharArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$DoubleArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$FloatArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$IntArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$LongArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$ObjectArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$ShortArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers$StringArraySerializer.class
com/esotericsoftware/kryo/serializers/DefaultArraySerializers.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$BigDecimalSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$BigIntegerSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$BooleanSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$ByteSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CalendarSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CharSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CharsetSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$ClassSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CollectionsEmptyListSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CollectionsEmptyMapSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CollectionsEmptySetSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CollectionsSingletonListSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CollectionsSingletonMapSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CollectionsSingletonSetSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$CurrencySerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$DateSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$DoubleSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$EnumSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$EnumSetSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$FloatSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$IntSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$KryoSerializableSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$LocaleSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$LongSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$ShortSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$StringBufferSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$StringBuilderSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$StringSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$TimeZoneSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$TreeMapSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$TreeSetSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$URLSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers$VoidSerializer.class
com/esotericsoftware/kryo/serializers/DefaultSerializers.class
com/esotericsoftware/kryo/serializers/DeflateSerializer.class
com/esotericsoftware/kryo/serializers/EnumNameSerializer.class
com/esotericsoftware/kryo/serializers/ExternalizableSerializer.class
com/esotericsoftware/kryo/serializers/FieldSerializer$Bind.class
com/esotericsoftware/kryo/serializers/FieldSerializer$CachedField.class
com/esotericsoftware/kryo/serializers/FieldSerializer$CachedFieldFactory.class
com/esotericsoftware/kryo/serializers/FieldSerializer$CachedFieldNameStrategy$1.class
com/esotericsoftware/kryo/serializers/FieldSerializer$CachedFieldNameStrategy$2.class
com/esotericsoftware/kryo/serializers/FieldSerializer$CachedFieldNameStrategy.class
com/esotericsoftware/kryo/serializers/FieldSerializer$Optional.class
com/esotericsoftware/kryo/serializers/FieldSerializer.class
com/esotericsoftware/kryo/serializers/FieldSerializerAnnotationsUtil.class
com/esotericsoftware/kryo/serializers/FieldSerializerConfig.class
com/esotericsoftware/kryo/serializers/FieldSerializerGenericsUtil.class
com/esotericsoftware/kryo/serializers/FieldSerializerUnsafeUtil$Factory.class
com/esotericsoftware/kryo/serializers/FieldSerializerUnsafeUtil.class
com/esotericsoftware/kryo/serializers/FieldSerializerUnsafeUtilImpl.class
com/esotericsoftware/kryo/serializers/Generics.class
com/esotericsoftware/kryo/serializers/GenericsResolver.class
com/esotericsoftware/kryo/serializers/JavaSerializer$ObjectInputStreamWithKryoClassLoader.class
com/esotericsoftware/kryo/serializers/JavaSerializer.class
com/esotericsoftware/kryo/serializers/MapSerializer$BindMap.class
com/esotericsoftware/kryo/serializers/MapSerializer.class
com/esotericsoftware/kryo/serializers/ObjectCachedFieldFactory.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectBooleanField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectByteField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectCharField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectDoubleField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectFloatField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectIntField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectLongField.class
com/esotericsoftware/kryo/serializers/ObjectField$ObjectShortField.class
com/esotericsoftware/kryo/serializers/ObjectField.class
com/esotericsoftware/kryo/serializers/OptionalSerializers$1.class
com/esotericsoftware/kryo/serializers/OptionalSerializers$OptionalDoubleSerializer.class
com/esotericsoftware/kryo/serializers/OptionalSerializers$OptionalIntSerializer.class
com/esotericsoftware/kryo/serializers/OptionalSerializers$OptionalLongSerializer.class
com/esotericsoftware/kryo/serializers/OptionalSerializers$OptionalSerializer.class
com/esotericsoftware/kryo/serializers/OptionalSerializers.class
com/esotericsoftware/kryo/serializers/TaggedFieldSerializer$1.class
com/esotericsoftware/kryo/serializers/TaggedFieldSerializer$Tag.class
com/esotericsoftware/kryo/serializers/TaggedFieldSerializer.class
com/esotericsoftware/kryo/serializers/TaggedFieldSerializerConfig.class
com/esotericsoftware/kryo/serializers/TimeSerializers$1.class
com/esotericsoftware/kryo/serializers/TimeSerializers$DurationSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$InstantSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$LocalDateSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$LocalDateTimeSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$LocalTimeSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$MonthDaySerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$OffsetDateTimeSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$OffsetTimeSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$PeriodSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$YearMonthSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$YearSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$ZoneIdSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$ZoneOffsetSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers$ZonedDateTimeSerializer.class
com/esotericsoftware/kryo/serializers/TimeSerializers.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeBooleanField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeByteField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeCachedField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeCharField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeDoubleField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeFloatField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeIntField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeLongField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeObjectField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeRegionField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeShortField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields$UnsafeStringField.class
com/esotericsoftware/kryo/serializers/UnsafeCacheFields.class
com/esotericsoftware/kryo/serializers/UnsafeCachedFieldFactory.class
com/esotericsoftware/kryo/serializers/VersionFieldSerializer$Since.class
com/esotericsoftware/kryo/serializers/VersionFieldSerializer.class
com/esotericsoftware/kryo/util/DefaultClassResolver.class
com/esotericsoftware/kryo/util/DefaultStreamFactory.class
com/esotericsoftware/kryo/util/FastestStreamFactory.class
com/esotericsoftware/kryo/util/IdentityMap$Entries.class
com/esotericsoftware/kryo/util/IdentityMap$Entry.class
com/esotericsoftware/kryo/util/IdentityMap$Keys.class
com/esotericsoftware/kryo/util/IdentityMap$MapIterator.class
com/esotericsoftware/kryo/util/IdentityMap$Values.class
com/esotericsoftware/kryo/util/IdentityMap.class
com/esotericsoftware/kryo/util/IdentityObjectIntMap.class
com/esotericsoftware/kryo/util/IntArray.class
com/esotericsoftware/kryo/util/IntMap$Entries.class
com/esotericsoftware/kryo/util/IntMap$Entry.class
com/esotericsoftware/kryo/util/IntMap$Keys.class
com/esotericsoftware/kryo/util/IntMap$MapIterator.class
com/esotericsoftware/kryo/util/IntMap$Values.class
com/esotericsoftware/kryo/util/IntMap.class
com/esotericsoftware/kryo/util/ListReferenceResolver.class
com/esotericsoftware/kryo/util/MapReferenceResolver.class
com/esotericsoftware/kryo/util/ObjectMap$Entries.class
com/esotericsoftware/kryo/util/ObjectMap$Entry.class
com/esotericsoftware/kryo/util/ObjectMap$Keys.class
com/esotericsoftware/kryo/util/ObjectMap$MapIterator.class
com/esotericsoftware/kryo/util/ObjectMap$Values.class
com/esotericsoftware/kryo/util/ObjectMap.class
com/esotericsoftware/kryo/util/UnsafeUtil$1.class
com/esotericsoftware/kryo/util/UnsafeUtil.class
com/esotericsoftware/kryo/util/Util.class
Close #3599.
## Brief change log
<!--
Clearly describe the changes made in modules, classes, methods, etc.
-->
- Update groupId of kryo dependency `com.esotericsoftware.kryo` to
`com.esotericsoftware`
## How was this patch tested?
- [ ] Add some test cases that check the changes thoroughly including
negative and positive cases if possible
- [ ] Add screenshots for manual tests if appropriate
- [ ] Run test locally before making a pull request
## Documentation
- Does this pull request introduce a new feature? (yes / no)
- If yes, how is the feature documented? (not applicable / docs / JavaDocs /
not documented)
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]