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

Infinispan Protostream #29394

Open
Tracked by #28745
pruivo opened this issue May 8, 2024 · 0 comments · May be fixed by #29474
Open
Tracked by #28745

Infinispan Protostream #29394

pruivo opened this issue May 8, 2024 · 0 comments · May be fixed by #29474
Assignees
Labels
kind/enhancement Categorizes a PR related to an enhancement status/triage

Comments

@pruivo
Copy link
Contributor

pruivo commented May 8, 2024

Description

Replace the current JBoss Marshalling with Infinispan Protostream

Note: this is a backwards incompatible change, i.e., Infinispan cannot transfer JBoss Marshalling bytes into Infinispan Protostream and vice-versa.cannot

Discussion

No response

Motivation

Infinispan Protostream is based on Protocol Buffer. Infinispan 15 added support for proto3 syntax format (see https://protobuf.dev/programming-guides/proto3/). The main advantage is that proto3 fields are all optional, meaning they can be added or removed from Java objects without breaking compatibility (assuming a set of rules are followed: https://protobuf.dev/programming-guides/dos-donts/)

For Keycloak, the advantages are

  • Seamless updates for cached entities.
  • Sligthy better performance marshalling data when compared with JBoss Marshalling.
  • Auto Generates the marshalling code based on annotated fields.
  • Smaller byte arrays, reduce network data.
  • Possibility to see the data in Infinispan Server Web Console (multi-site deployment).
  • Query and indexing in Infinispan server (External Infinispan Deployments #28745).

Details

No response

@pruivo pruivo added kind/enhancement Categorizes a PR related to an enhancement status/triage labels May 8, 2024
@pruivo pruivo self-assigned this May 8, 2024
pruivo added a commit to pruivo/keycloak that referenced this issue May 13, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
@pruivo pruivo linked a pull request May 13, 2024 that will close this issue
6 tasks
pruivo added a commit to pruivo/keycloak that referenced this issue May 13, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
pruivo added a commit to pruivo/keycloak that referenced this issue May 14, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
pruivo added a commit to pruivo/keycloak that referenced this issue May 14, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
pruivo added a commit to pruivo/keycloak that referenced this issue May 14, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
pruivo added a commit to pruivo/keycloak that referenced this issue May 14, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
pruivo added a commit to pruivo/keycloak that referenced this issue May 15, 2024
Closes keycloak#29394

Signed-off-by: Pedro Ruivo <pruivo@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Categorizes a PR related to an enhancement status/triage
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant