[JBoss JIRA] (ISPN-9754) Cache size method should consulte Shared cache stores
by William Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-9754?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-9754:
--------------------------------
Fix Version/s: 9.4.3.Final
> Cache size method should consulte Shared cache stores
> -----------------------------------------------------
>
> Key: ISPN-9754
> URL: https://issues.jboss.org/browse/ISPN-9754
> Project: Infinispan
> Issue Type: Sub-task
> Affects Versions: 9.4.2.Final
> Reporter: William Burns
> Assignee: William Burns
> Priority: Major
> Fix For: 10.0.0.Alpha2, 9.4.3.Final
>
>
> When we have a shared store we can just consult the store to find the size. Note that passivation is not allowed with shared stores, so we don't have to worry about that option.
> This should allow for the size method to be much more performant as currently we always have to iterate over all the contents. Some stores may do this internally for size, but at least we have the option.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9753) Fix maven parallel builds
by Gustavo Fernandes (Jira)
Gustavo Fernandes created ISPN-9753:
---------------------------------------
Summary: Fix maven parallel builds
Key: ISPN-9753
URL: https://issues.jboss.org/browse/ISPN-9753
Project: Infinispan
Issue Type: Bug
Components: Build
Affects Versions: 10.0.0.Alpha1
Reporter: Gustavo Fernandes
Assignee: Gustavo Fernandes
Since the upgrade of the wildfly-maven-plugin, it's not possible to run parallel builds anymore
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-9752) JDBCStringBasedStore should disable auto commit for publish methods
by William Burns (Jira)
[ https://issues.jboss.org/browse/ISPN-9752?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-9752:
--------------------------------
Description:
Some JDBC drivers do not do paging for result sets when auto commit is enabled, namely postgresql
https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor
There shouldn't be any drawbacks of disabling auto commit before performing the query. We wouldn't even need to rollback/commit the connection and just return it to the pool. The pool can do that for us as we don't care if it is committed as it is a read only query.
Could you please give the opportunity to disable autoCommit in order for the JDBC page size to work (even if the store is not transactional).
Otherwise, fetch size is ignore and postgresql just pulls in the entire select.
Thanks
--nick
was:
Some JDBC drivers do not do paging for result sets when auto commit is disabled, namely postgresql
https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor
There shouldn't be any drawbacks of disabling auto commit before performing the query. We wouldn't even need to rollback/commit the connection and just return it to the pool. The pool can do that for us as we don't care if it is committed as it is a read only query.
Could you please give the opportunity to disable autoCommit in order for the JDBC page size to work (even if the store is not transactional).
Otherwise, fetch size is ignore and postgresql just pulls in the entire select.
Thanks
--nick
> JDBCStringBasedStore should disable auto commit for publish methods
> -------------------------------------------------------------------
>
> Key: ISPN-9752
> URL: https://issues.jboss.org/browse/ISPN-9752
> Project: Infinispan
> Issue Type: Bug
> Reporter: Nicolas Ocquidant
> Priority: Major
>
> Some JDBC drivers do not do paging for result sets when auto commit is enabled, namely postgresql
> https://jdbc.postgresql.org/documentation/83/query.html#query-with-cursor
> There shouldn't be any drawbacks of disabling auto commit before performing the query. We wouldn't even need to rollback/commit the connection and just return it to the pool. The pool can do that for us as we don't care if it is committed as it is a read only query.
> Could you please give the opportunity to disable autoCommit in order for the JDBC page size to work (even if the store is not transactional).
> Otherwise, fetch size is ignore and postgresql just pulls in the entire select.
> Thanks
> --nick
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-4159) DefaultTwoWayKey2StringMapper encodes objects to strings in a manner that is incompatible with string handling of some databases
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-4159?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-4159:
-------------------------------
Fix Version/s: 9.4.3.Final
(was: 9.4.2.Final)
> DefaultTwoWayKey2StringMapper encodes objects to strings in a manner that is incompatible with string handling of some databases
> --------------------------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-4159
> URL: https://issues.jboss.org/browse/ISPN-4159
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Affects Versions: 6.0.0.Final
> Reporter: Adrian Nistor
> Assignee: Ryan Emerson
> Priority: Major
> Fix For: 9.4.3.Final
>
>
> DefaultTwoWayKey2StringMapper uses two neat tricks.
> 1. it does not encode all supported types, it only encodes non-Strings. Strings are kept unmodified.
> 2. it uses a special prefix (unicode char 0xfeff) to mark which strings were encoded and which are plain.
> Unfortunately some databases, notably MySql, interpret the endianness mark (0xfeff, 0xfffe), convert to native byte order and then drop it.
> This leaves us with no clue the string is not an actual String but an encoded representation of another type. This misinterpretation leads later to ClassCastExceptions in various places in core and user code.
> Proposed fix: get rid of #1 and #2 optimisations. Encode all objects, including Strings and always use the ?n prefix (where n stands for the original type). Drop the 0xFEFF marker prefix.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months
[JBoss JIRA] (ISPN-3918) Inconsistent view of the cache with putIfAbsent in a non-tx cache during state transfer
by Dan Berindei (Jira)
[ https://issues.jboss.org/browse/ISPN-3918?page=com.atlassian.jira.plugin.... ]
Dan Berindei updated ISPN-3918:
-------------------------------
Fix Version/s: 9.4.3.Final
(was: 9.4.2.Final)
> Inconsistent view of the cache with putIfAbsent in a non-tx cache during state transfer
> ---------------------------------------------------------------------------------------
>
> Key: ISPN-3918
> URL: https://issues.jboss.org/browse/ISPN-3918
> Project: Infinispan
> Issue Type: Bug
> Components: Core, State Transfer
> Affects Versions: 6.0.0.Final
> Reporter: Dan Berindei
> Priority: Major
> Labels: consistency
> Fix For: 9.4.3.Final
>
> Attachments: NonTxPutIfAbsentDuringLeaveStressTest.testNodeLeavingDuringPutIfAbsent_8.log.gz, NonTxPutIfAbsentDuringRebalanceStressTest.testPutIfAbsentDuringJoin_1.log.gz, ntpiadjst.log.gz
>
>
> In a non-tx cache, sometimes it's possible for a {{get(k)}} to return {{null}} even though a previous {{putIfAbsent(k, v)}} returned a non-null value and the only concurrent operations on the cache are concurrent putIfAbsent calls.
> Say \[B, A, C] are the owners of k (C just joined)
> 1. A starts a {{putIfAbsent(k, v1)}} command, sends it to B
> 2. B forwards the command to A and C
> 3. C writes {{k=v1}}
> 4. C becomes the primary owner of k (owners are now \[C, A])
> 5. A/B see the new topology before committing and throw an outdatedTopologyException
> 6. A retries the command, sends it to C
> 7. C forwards the command to A, which writes {{k=v1}}
> 8. C doesn't have to update the entry, returns null
> If, between steps 3 and 7, another thread on A starts a {{putIfAbsent(k, v2)}} command, the command will fail and return {{v1}} (because the primary owner already has a value). However, a subsequent {{get(k)}} command will return {{null}}, because A is an owner and doesn't have the value.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
7 years, 4 months