-
Notifications
You must be signed in to change notification settings - Fork 17
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
Make 3.3.9 version binary compatible with 3.3.8 #586
Closed
Closed
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This was referenced Feb 29, 2024
rtar
force-pushed
the
binary-compatibility
branch
from
March 6, 2024 11:49
40040e7
to
006a88a
Compare
rtar
force-pushed
the
binary-compatibility
branch
2 times, most recently
from
March 12, 2024 13:33
b1e6a5e
to
2da953d
Compare
rtar
force-pushed
the
binary-compatibility
branch
from
March 19, 2024 12:00
2da953d
to
b1563e1
Compare
rtar
added a commit
that referenced
this pull request
Mar 19, 2024
The idea is to restore binary backwards compatibility of `SchemaConfig`. `SchemaConfig.Keyspace` is restored for that purposes and the method is added to convert it to `KeyspaceConfig`. The class itself is marked as deprecated and is planned to be removed in a next non-binary-compatible release. This is a smaller PR split from #586 for easier review.
rtar
added a commit
that referenced
this pull request
Mar 19, 2024
The idea is to restore binary backwards compatibility of `SchemaConfig`. `SchemaConfig.Keyspace` is restored for that purposes and the method is added to convert it to `KeyspaceConfig`. The class itself is marked as deprecated and is planned to be removed in a next non-binary-compatible release. This is a smaller PR split from #586 for easier review.
rtar
force-pushed
the
binary-compatibility
branch
4 times, most recently
from
March 25, 2024 14:53
7f68fea
to
53d2aa2
Compare
rtar
force-pushed
the
binary-compatibility
branch
from
March 26, 2024 15:04
9aec6e5
to
052f52b
Compare
rtar
force-pushed
the
binary-compatibility
branch
from
April 10, 2024 08:40
052f52b
to
e48b955
Compare
rtar
force-pushed
the
binary-compatibility
branch
from
April 10, 2024 11:17
c7169f1
to
ee65b8b
Compare
rtar
added a commit
that referenced
this pull request
Apr 10, 2024
This is the last PR in the series, including code cleanup changes that did not suit for previous PRs.
Merged
rtar
added a commit
that referenced
this pull request
Apr 10, 2024
Also configure `sbt-version-policy` to check that this is the case. Run `sbt versionPolicyCheck` to validate. # Conflicts: # tests/src/test/scala/com/evolutiongaming/kafka/journal/SettingsIntSpec.scala # Conflicts: # cassandra/src/main/scala/com/evolutiongaming/kafka/journal/cassandra/SettingStatements.scala # cassandra/src/main/scala/com/evolutiongaming/kafka/journal/cassandra/SettingsCassandra.scala # cassandra/src/test/resources/com/evolutiongaming/kafka/journal/cassandra/cassandra-consistency-config.conf # cassandra/src/test/resources/com/evolutiongaming/kafka/journal/cassandra/consistency-config.conf # cassandra/src/test/resources/com/evolutiongaming/kafka/journal/eventual/cassandra/consistency-config.conf # cassandra/src/test/scala/com/evolutiongaming/kafka/journal/cassandra/CassandraConsistencyConfigSpec.scala # Conflicts: # cassandra/src/test/scala/com/evolutiongaming/kafka/journal/cassandra/CassandraHealthCheckSpec.scala # Conflicts: # eventual-cassandra/src/main/scala/com/evolutiongaming/kafka/journal/eventual/cassandra/SchemaConfig.scala # eventual-cassandra/src/main/scala/com/evolutiongaming/kafka/journal/eventual/cassandra/SetupSchema.scala # Conflicts: # cassandra/src/main/scala/com/evolutiongaming/kafka/journal/cassandra/CassandraSync.scala # Conflicts: # cassandra/src/main/scala/com/evolutiongaming/kafka/journal/cassandra/CassandraSync.scala # cassandra/src/test/scala/com/evolutiongaming/kafka/journal/cassandra/CreateTablesSpec.scala # eventual-cassandra/src/main/scala/com/evolutiongaming/kafka/journal/eventual/cassandra/SetupSchema.scala # Conflicts: # cassandra/src/test/scala/com/evolutiongaming/kafka/journal/cassandra/SettingsCassandraSpec.scala # tests/src/test/scala/com/evolutiongaming/kafka/journal/SettingsIntSpec.scala # Conflicts: # eventual-cassandra/src/main/scala/com/evolutiongaming/kafka/journal/eventual/cassandra/CreateSchema.scala # eventual-cassandra/src/main/scala/com/evolutiongaming/kafka/journal/eventual/cassandra/SchemaConfig.scala
rtar
force-pushed
the
binary-compatibility
branch
from
April 10, 2024 11:45
ee65b8b
to
0ff6dfa
Compare
Most of the changes were pushed to |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Note
The pull request will now be split to several smaller pull requests (feel free to review them instead):
sbt-version-policy
to check for backwards compatibility issues #587CassandraConsistencyConfig
fromeventual.cassandra
tocassandra
package #594MigrateSchema
fromeventual.cassandra
tocassandra
#606Big Idea
The big idea is to make 3.3.9 version binary compatible with 3.3.8 and also configure
sbt-version-policy
to check that this is the case.Run
sbt versionPolicyCheck
to validate.CC: @t3hnar
Details
I had to update
build.sbt
with a temporary hack which creates a separatemima-classes
directory forjournal
andeventual-cassandra
modules to make sure thatcore
andcassandra
module classes are included as in 3.3.8 version these classes were located together. That hack won't be necessary in 3.3.10 anymore.I have moved the following classes into
com.evolutiongaming.kafka.journal.cassandra
package incassandra
module:Then I have created deprecated copies of these classes in
com.evolutiongaming.kafka.journal.eventual.cassandra
package ineventual-cassandra
module and used the old method signatures + converters there.I had to create them in
eventual-cassandra
module (not incassandra
module) because some of these old signatures depend oneventual-cassandra
classes, still.All the methods of these deprecated classes call the methods of new classes to ensure there is no duplication of the logic.
Rollbacks
I decided to not create copies of the following classes and just rolled them back to binary compatible state. I suppose we could update them when doing non-binary-compatible release.
The reason for such decision is that these are not used in an upcoming snapshotter plugin.