[
https://issues.apache.org/jira/browse/IGNITE-12702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17067610#comment-17067610
]
Denis Mekhanikov commented on IGNITE-12702:
-------------------------------------------
I only see a possibility to write such warnings when IgniteCache#put is
performed. But we need to throttle such messages and make sure that no
performance impact is going to be introduced in this case. For log throttling
check out the following class: GridLogThrottle
Alternatively it can be a moment of type registration. But as far as I know, we
don't propagate the information whether the object is going to be used as a key
or a value to the code that performs the type registration.
> Print warning when a cache value contains @AffinityKeyMapped annotation
> -----------------------------------------------------------------------
>
> Key: IGNITE-12702
> URL: https://issues.apache.org/jira/browse/IGNITE-12702
> Project: Ignite
> Issue Type: Improvement
> Components: cache
> Reporter: Denis Mekhanikov
> Assignee: Kartik Somani
> Priority: Major
> Labels: newbie
>
> Consider the following code snippet:
> {code:java}
> public class WrongAffinityExample {
> public static void main(String[] args) {
> Ignite ignite = Ignition.start("config/ignite.xml");
> IgniteCache<EmployeeKey, EmployeeValue> cache =
> ignite.getOrCreateCache("employees");
> EmployeeKey key = new EmployeeKey(1);
> EmployeeValue value = new EmployeeValue(1, "Denis");
> cache.put(key, value);
> }
> public static class EmployeeKey {
> private int id;
> public EmployeeKey(int id) {
> this.id = id;
> }
> }
> public static class EmployeeValue {
> @AffinityKeyMapped
> int departmentId;
> String name;
> public EmployeeValue(int departmentId, String name) {
> this.departmentId = departmentId;
> this.name = name;
> }
> }
> }
> {code}
> Note, that {{EmployeeValue}} contains an {{@AffinityKeyMapped}} annotation,
> which doesn't have any effect, since it's specified in a value, and not in a
> key.
> Such mistake is simple to make and pretty hard to track down.
> This configuration should trigger a warning message printed in log to let
> the user know that this affinity key configuration is not applied.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)