[JBoss JIRA] (ISPN-1403) Optimise sending Hot Rod topology updates for distributed caches
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-1403?page=com.atlassian.jira.plugin.... ]
Mircea Markus updated ISPN-1403:
--------------------------------
Fix Version/s: (was: 6.0.0.Final)
> Optimise sending Hot Rod topology updates for distributed caches
> ----------------------------------------------------------------
>
> Key: ISPN-1403
> URL: https://issues.jboss.org/browse/ISPN-1403
> Project: Infinispan
> Issue Type: Enhancement
> Components: Distributed Cache, Remote protocols
> Reporter: Galder Zamarreño
> Assignee: Galder Zamarreño
>
> Right now, whenever a Hot Rod client sends a request with a view id which is different to the one on the server, it'd get a brand new view in the response to the request. This could be optimised nicely by only sending back a new view id when the server discovers that the client is using an inefficient view. For example, in distributed caches, the moment it gets a request for a key which lands on a node that does not own the key, it could decide to send back the view.
> This would reduce the number of times the view is returned, hence improving the performance of requests.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (ISPN-2587) Optimize command forwarding after topology changes
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-2587?page=com.atlassian.jira.plugin.... ]
Mircea Markus updated ISPN-2587:
--------------------------------
Fix Version/s: (was: 6.0.0.Final)
> Optimize command forwarding after topology changes
> --------------------------------------------------
>
> Key: ISPN-2587
> URL: https://issues.jboss.org/browse/ISPN-2587
> Project: Infinispan
> Issue Type: Task
> Components: State transfer
> Affects Versions: 5.2.0.Beta5
> Reporter: Dan Berindei
> Assignee: Dan Berindei
>
> When a node receives a command with a topology id lower than its own topology id, it forwards the command to all the owners in the current topology.
> This is especially bad in replicated caches, where all the nodes check whether to forward or not, and after a join we may get {{n * (n-1)}} forwarded commands instead of just {{n}}.
> Most of the time the difference between the current topology id and the command's topology id is <= 1, so we could avoid a lot of the extra forwarding if we kept the previous cache topology and we forwarded the command only to the owners added in the latest topology. Obviously, if the command is older we'd still forward it to all the owners.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (ISPN-2491) Order of locks in optimistic locking is not strict
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-2491?page=com.atlassian.jira.plugin.... ]
Mircea Markus commented on ISPN-2491:
-------------------------------------
[~rvansa] do you feel like giving it a try? :-)
> Order of locks in optimistic locking is not strict
> --------------------------------------------------
>
> Key: ISPN-2491
> URL: https://issues.jboss.org/browse/ISPN-2491
> Project: Infinispan
> Issue Type: Quality Risk
> Components: Locking and Concurrency
> Affects Versions: 5.1.8.Final, 5.2.0.Beta3
> Reporter: Radim Vansa
> Assignee: Mircea Markus
> Priority: Minor
> Fix For: 6.0.0.Final
>
>
> In OptimisticLockingInterceptor, the keys are ordered according to their hash. However, the hashes can still collide, which may result in a deadlock if two keys with identical hash (only 32-bit) are sorted to different order. We should try to check if the keys are Comparable or let user provide some comparator class in config, and use the compare of hash only as the last resort.
> In all cases, a warning should be emitted if the compare operation had non-strict result.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (ISPN-2491) Order of locks in optimistic locking is not strict
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-2491?page=com.atlassian.jira.plugin.... ]
Mircea Markus updated ISPN-2491:
--------------------------------
Fix Version/s: (was: 6.0.0.Final)
> Order of locks in optimistic locking is not strict
> --------------------------------------------------
>
> Key: ISPN-2491
> URL: https://issues.jboss.org/browse/ISPN-2491
> Project: Infinispan
> Issue Type: Quality Risk
> Components: Locking and Concurrency
> Affects Versions: 5.1.8.Final, 5.2.0.Beta3
> Reporter: Radim Vansa
> Assignee: Mircea Markus
> Priority: Minor
>
> In OptimisticLockingInterceptor, the keys are ordered according to their hash. However, the hashes can still collide, which may result in a deadlock if two keys with identical hash (only 32-bit) are sorted to different order. We should try to check if the keys are Comparable or let user provide some comparator class in config, and use the compare of hash only as the last resort.
> In all cases, a warning should be emitted if the compare operation had non-strict result.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (ISPN-791) On node startup, ensure all peers have compatible configurations
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-791?page=com.atlassian.jira.plugin.s... ]
Mircea Markus updated ISPN-791:
-------------------------------
Fix Version/s: (was: 6.0.0.Final)
> On node startup, ensure all peers have compatible configurations
> ----------------------------------------------------------------
>
> Key: ISPN-791
> URL: https://issues.jboss.org/browse/ISPN-791
> Project: Infinispan
> Issue Type: Feature Request
> Components: Configuration
> Affects Versions: 4.1.0.Final
> Reporter: Manik Surtani
> Assignee: Vladimir Blagojevic
>
> This is to prevent caches that are supposed to be symmetric/identical from being misconfigured. Some elements are allowed to be unique, of course, such as bind addresses in JGroups as well as node names, server hints, certain props passed to cache stores, etc.
> A simple test could be a hash (MD5 or SHA1?) of the config XML (or a serial form of the generated Configuration bean) which is exchanged as a part of the join method. On failure of the hash check, the entire object could be checked, and if that fails as well, an appropriate ConfigurationException could be thrown.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months
[JBoss JIRA] (ISPN-701) New JDBC CacheStore implementation w/ more flexible vendor-specific extension and binary key column support
by Mircea Markus (JIRA)
[ https://issues.jboss.org/browse/ISPN-701?page=com.atlassian.jira.plugin.s... ]
Mircea Markus updated ISPN-701:
-------------------------------
Fix Version/s: (was: 6.0.0.Final)
> New JDBC CacheStore implementation w/ more flexible vendor-specific extension and binary key column support
> -----------------------------------------------------------------------------------------------------------
>
> Key: ISPN-701
> URL: https://issues.jboss.org/browse/ISPN-701
> Project: Infinispan
> Issue Type: Task
> Components: Loaders and Stores
> Reporter: Trustin Lee
> Assignee: Tristan Tarrant
> Labels: jdbc
>
> The current JDBC {{CacheStore}} implementation has the following shortcomings:
> * poor support for vendor specific queries (e.g. MySQL's replace into)
> * complex configuration is required to support the key types that cannot be converted to a String easily.
> To address this issue:
> * Introduce a single unified JDBC {{CacheStore}} implementation.
> * Support an arbitrary key type as long as it can be serialized via {{Marshaller}}.
> * Support both text and binary key.
> * Encode the binary key into a text key using an efficient text encoding if the target database doesn't support binary key column.
> * Provide much more flexibility in supporting vendor specific extensions. Let the user extend our {{CacheStore}} implementation and override the DB access (no more TableManipulation).
> Once implemented, the existing JDBC {{CacheStore}} could be deprecated.
> Configuring this would be, for example, {{GenericJdbcCacheStore}} which would have no vendor-specific optimisations, and {{MySqlJdbcCacheStore}} (subclasses {{GenericJdbcCacheStore}}) which would contain MySQL specific optimisations, etc.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 9 months