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

[Java ] Delegate decision on unknown schema to consensus agent #1584

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

langera
Copy link
Contributor

@langera langera commented Apr 11, 2024

No description provided.

@langera langera requested a review from mjpt777 April 11, 2024 15:52
@langera
Copy link
Contributor Author

langera commented May 21, 2024

Consensus module can be configured now with SchemaAdapter instances to handle messages from schemas unknown to core Aeron.

  1. The handling of unknown schema is delegated to consensus module - Normal flow with schemaId 111 is unaffected.
  2. Consensus module Context now enables registering SchemaAdapter implementations
  3. SchemaAdapter interface added - similar to ControlledFragmentHandler but schemaId and templateId are passed as well
  4. Default SchemaAdapter will throw exception so behaviour is preserved

@langera langera requested a review from mjpt777 May 21, 2024 06:12
@@ -171,7 +165,7 @@ public void shouldLimitActiveSessions()
Tests.setField(agent, "appendPosition", mock(ReadableCounter.class));
agent.onSessionConnect(correlationIdOne, 2, PROTOCOL_SEMANTIC_VERSION, RESPONSE_CHANNEL_ONE, new byte[0]);

clock.update(17, TimeUnit.MILLISECONDS);
clock.update(SCHEMA_ID, TimeUnit.MILLISECONDS);
Copy link
Contributor

Choose a reason for hiding this comment

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

Is there are reason why we are setting the clock time to the schema id?

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.

None yet

3 participants