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]

Reply via email to