anton-vinogradov opened a new pull request, #13421: URL: https://github.com/apache/ignite/pull/13421
### Problem After IGNITE-28929 the marshaller of a message is stated by `@UseBinaryMarshaller`, and `CoreMessagesProvider#withSchema` / `#withNoSchema` became the same code. They differ only by an assert that the annotation matches the chosen helper, so the same fact is stored twice and the assert only checks that the two copies agree. `CalciteMessageFactory` already uses the plain form `register(factory, cls, id)`. Separately, `register` threaded a `Marshaller` into the serializer and deployer lookups. Neither takes one: 0 of 197 generated serializers and 0 of 31 generated deployers declare a constructor with `Marshaller`, and the generators cannot emit one. ### Solution * 299 `withSchema`/`withNoSchema` calls replaced with `register(factory, cls, msgIdx++)`, both helpers deleted; * the marshaller now reaches only the generated marshaller companion — `loadGenerated(cls, suffix)` for the serializer and the deployer takes no marshaller and asserts the companion has a no-arg constructor, so a future change in the generator surfaces immediately. Behaviour is unchanged. Note that until IGNITE-28940 removes the annotation altogether, a misplaced `@UseBinaryMarshaller` is silently ignored instead of tripping an assert. Part of IGNITE-28935. ### Verification * message id map compared before and after by parsing both versions of the provider: 299 registrations, **0 differences** in `id -> class` * `MessageProcessorTest` — 39/39 * `MessageFactoryMarshallerInitializationTest` — 3/3 * `DirectMarshallingMessagesTest` — 1/1 * `GridCacheAtomicNearEnabledFullApiSelfTest` — 150/150 * full build with `-Pcheckstyle` — clean Generated code is unchanged by construction: no message class is touched, only the provider and the factory base. 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- 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]
