Skip to content
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

[v22.3.x] Backport of #5315 #7603 #7923 #7604 #7814 #8016 #8019

Merged
merged 33 commits into from
Jan 6, 2023

Conversation

mmaslankaprv
Copy link
Member

@mmaslankaprv mmaslankaprv commented Jan 4, 2023

Backport of PR #5315
Backport of PR #7603
Backport of PR #7604
Backport of PR #7923
Backport of PR #7814
Backport of PR #8016

jcsp and others added 30 commits January 4, 2023 14:17
On stderr it gets mixed with logs.  On stdout it is
straightforward to capture and decode json for use in tests.

(cherry picked from commit e168164)
This was wasteful: all messages from before the snapshot should
already be accounted for in the state we loaded from the snapshot.

(cherry picked from commit 963fc3d)
A None value is a deletion.  Previously, we ignored
these and thereby the kvstore dump would include
all keys ever created, even if they had since
been deleted.

(cherry picked from commit 7f666f7)
…batch.header.type instead of batch.type)

(cherry picked from commit 18328b1)
... and augmented Reader.read_envelope to accept a type_read Callable[rdr: Reader, version: Int]: Dict and a max_version parameter.

 If a type_read is used, it is invoked with reader and envelope if envelope.version <= max_version parameter.
 the result is joined with a dict {'envelope': envelope} and returned, otherwise an error dict is returned.

 If no type_read is used, envelope is returned immediately

(cherry picked from commit 4bbd0c5)
the new code tries to mimic the structure of the adl decoding functions.
the new code is aware of the version number embedded in the binary stream and will skip the field if the version is not supported, while reporting the error.

(cherry picked from commit 021317a)
…luster_config_command

(cherry picked from commit 29f9e7e)
…are processed

in case of unread byte, an 'unread': {'k': ..., 'v': ...} field is added and an error is logged

this check is not exact but is a good proxy to know if the decoding code is correct

(cherry picked from commit ba26cd7)
Partitions have various kvstore items, stored by
the raft + storage layers.  When the topic is
deleted, they should be deleted too.

Use our offline log decoder tool to inspect
the kvstore out-of-band and validate the keys
go away when the topic is deleted.

(cherry picked from commit fac7d51)
This needs fixing, but better to comment it out and have
the rest of the command work.

(cherry picked from commit 189e475)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 065d1f4)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 1f6da22)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 8db3de7)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit d7d49aa)
Redpanda maintains on disk format compatibility with Kafka for
`__consumer_offsets` topic messages. Added support for
`expiry_timestamp` field that was part of `OffsetCommitValue` version 1.
Previously redpanda implementation defaulted to the most recent version 3.

Expiry timestamp may be set by clients using older versions of
`OffsetCommit` requests. To maintain compatibility we must persist the
value for older messages.

Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 913a5f7)
Introduced tool that may be helpful when dealing with consumer offsets
topic issue. The tool is designed to make changing the
`__consumer_offsets` topic partition count. It can be also used to
restore consumer group state.

Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 82d136a)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 28c5bae)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 34e3ff2)
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 2f476fa)
@mmaslankaprv mmaslankaprv requested a review from a team as a code owner January 4, 2023 13:23
@mmaslankaprv mmaslankaprv requested review from ivotron and removed request for a team January 4, 2023 13:23
Signed-off-by: Michal Maslanka <michal@redpanda.com>
(cherry picked from commit 428a488)
@mmaslankaprv mmaslankaprv added this to the ST.drop milestone Jan 4, 2023
@mmaslankaprv mmaslankaprv changed the title [v22.3.x] Backport of #5315 #7603 #7923 #7604 #8016 [v22.3.x] Backport of #5315 #7603 #7923 #7604 #7814 #8016 Jan 4, 2023
@dotnwat
Copy link
Member

dotnwat commented Jan 4, 2023

curiously test_cloud_storage_rpunit failed on both release and debug.

@mmaslankaprv
Copy link
Member Author

Looks like known CI failure:
#7973

dotnwat
dotnwat previously approved these changes Jan 5, 2023
Copy link
Member

@dotnwat dotnwat left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why are we backporting this?

#7923

@mmaslankaprv
Copy link
Member Author

why are we backporting this?

#7923

I thought that we are going to backport some other parts that require this feature, if not i will drop it

@dotnwat
Copy link
Member

dotnwat commented Jan 5, 2023

why are we backporting this?
#7923
I thought that we are going to backport some other parts that require this feature, if not i will drop it

maybe, but i was thinking that reason we weren't shipping offset retention on Jan 6 was because we were going to wait until 23.1. maybe a good thing for slack discussion?

This reverts commit 6421704.

This is not being backported.
@dotnwat
Copy link
Member

dotnwat commented Jan 6, 2023

Failure is k8s and #7973

@dotnwat dotnwat merged commit 61b42e7 into redpanda-data:v22.3.x Jan 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants