[JBoss JIRA] (ISPN-5561) Problem in dealing with the HQL queries that contain string comparison operations, when it involves empty string as an operand
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-5561?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-5561:
--------------------------------
Fix Version/s: 8.0.0.CR1
(was: 8.0.0.Beta2)
> Problem in dealing with the HQL queries that contain string comparison operations, when it involves empty string as an operand
> ------------------------------------------------------------------------------------------------------------------------------
>
> Key: ISPN-5561
> URL: https://issues.jboss.org/browse/ISPN-5561
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying, Remote Querying
> Affects Versions: 7.2.0.Final
> Environment: Infinispan version: Infinispan 7.2.0-Final
> Operating System: Linux
> Compatibility mode is enabled.
> Indexing is enabled and 'autoconfig' parameter is set to true.
> Reporter: Pavan Kundgol
> Assignee: Adrian Nistor
> Fix For: 7.2.4.Final, 8.0.0.CR1, 8.0.0.Final
>
>
> When a HQL query that involves string comparison operation with the empty string matching is executed through hot rod client(java), it is resulting in the following error,
> org.infinispan.client.hotrod.exceptions.HotRodClientException:Request for message id[7] returned server error (status=0x85): org.hibernate.search.exception.EmptyQueryException: HSEARCH000146: The query string '' applied on field 'CITY' has no meaningful tokens to be matched. Validate the query input against the Analyzer applied on this field.
> The same problem may also occur when the string matching operation involves a string containing certain special keywords(hibernate search stop words), as operands.
> The problem seems to be assosiated with the the 'hibernate-hql-lucene' parser used by the 'infinispan-remote-query-server' module. The problem here is that the hibernate-hql-lucene parser is translating comparison operations directly into lucene keyword matching operations, irrespective of the field type, though the phrase matching is more appropriate for string fields. This leads to invalid query formation when the field in concern is of type string, and is matched against an empty string(or a string containing one or more hibernate search stop words).
> For example,
> the where condition city='' present in the following HQL query
> select name from com.test.User where city=''
> is tralated to lucene query, the hql-lucene parser is currently translating to
> queryBuilder.keyword().onField("city").matching("").createQuery()
> whereas recommended one is
> queryBuilder.phrase().onField("city").sentence("").createQuery()
> In the former way of translation, Hibernate Search query execution fails due to its usage of standard analyzer while executing the query. Hence, the problem can also be avoided by disabling the standard analyzer while executing the query.
> queryBuilder.keyword().onField("city").ignoreAnalyzer().matching("").createQuery()
> Preferred solution may be to enhance the 'hibernate-hql-lucene' library to do type specific translations, and to specifically translate the string comparison operations of hql query into phrase matching operations of lucene query(instead of keyword matching operations).
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5558) DistributedTaskPart.equals() implementation is wrong
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-5558?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-5558:
--------------------------------
Fix Version/s: 8.0.0.CR1
(was: 8.0.0.Beta2)
> DistributedTaskPart.equals() implementation is wrong
> ----------------------------------------------------
>
> Key: ISPN-5558
> URL: https://issues.jboss.org/browse/ISPN-5558
> Project: Infinispan
> Issue Type: Bug
> Components: Core, Distributed Execution and Map/Reduce
> Affects Versions: 7.2.2.Final
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Fix For: 7.2.4.Final, 8.0.0.CR1, 8.0.0.Final
>
>
> {{DistributedExecutorService.submitEverywhere()}} returns a list of futures, one future for each targeted node. Because of how {{DistributedTaskPart.equals()}} is implemented, all the futures in the list appear to be equal, even though their target node is different and their result will also be different.
> The simplest fix would be to remove the equals() and hashCode() overloads from {{DistributedTaskPart}}.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5530) AtomicObjectFactoryTest.distributedCacheTest random failures
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-5530?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-5530:
--------------------------------
Fix Version/s: 8.0.0.CR1
(was: 8.0.0.Beta2)
> AtomicObjectFactoryTest.distributedCacheTest random failures
> ------------------------------------------------------------
>
> Key: ISPN-5530
> URL: https://issues.jboss.org/browse/ISPN-5530
> Project: Infinispan
> Issue Type: Bug
> Components: Test Suite - Core
> Affects Versions: 7.2.2.Final, 8.0.0.Alpha1
> Reporter: Dan Berindei
> Priority: Blocker
> Labels: testsuite_stability
> Fix For: 8.0.0.CR1
>
>
> {noformat}
> java.lang.AssertionError: obtained = 999; espected = 1000 expected:<1000> but was:<999>
> at org.testng.AssertJUnit.fail(AssertJUnit.java:59)
> at org.testng.AssertJUnit.failNotEquals(AssertJUnit.java:364)
> at org.testng.AssertJUnit.assertEquals(AssertJUnit.java:80)
> at org.infinispan.atomic.AtomicObjectFactoryTest.distributedCacheTest(AtomicObjectFactoryTest.java:114)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> at java.lang.reflect.Method.invoke(Method.java:483)
> at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
> at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
> at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
> at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
> at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
> at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
> at org.testng.TestRunner.privateRun(TestRunner.java:767)
> at org.testng.TestRunner.run(TestRunner.java:617)
> at org.testng.SuiteRunner.runTest(SuiteRunner.java:348)
> at org.testng.SuiteRunner.access$000(SuiteRunner.java:38)
> at org.testng.SuiteRunner$SuiteWorker.run(SuiteRunner.java:382)
> at org.testng.internal.thread.ThreadUtil$2.call(ThreadUtil.java:64)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at java.lang.Thread.run(Thread.java:745)
> {noformat}
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5623) Retried prepare commands do not wait for backup locks
by Adrian Nistor (JIRA)
[ https://issues.jboss.org/browse/ISPN-5623?page=com.atlassian.jira.plugin.... ]
Adrian Nistor updated ISPN-5623:
--------------------------------
Fix Version/s: 8.0.0.CR1
(was: 8.0.0.Beta2)
> Retried prepare commands do not wait for backup locks
> -----------------------------------------------------
>
> Key: ISPN-5623
> URL: https://issues.jboss.org/browse/ISPN-5623
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 7.2.3.Final, 8.0.0.Beta1
> Reporter: Dan Berindei
> Assignee: Pedro Ruivo
> Fix For: 8.0.0.CR1
>
> Attachments: OptimisticPrimaryOwnerCrashDuringPrepareTest.java
>
>
> When the primary owner crashes during prepare, the prepare command is retried on the new primary owner. But because the transaction topology id stays the same, the new primary owner does not check for backup locks owned by other transactions from the previous topology.
> That makes it possible for the retried prepare command to lock a key that was already locked by another transaction on the primary owner.
> This wasn't a problem before the ISPN-4546 fix, because a primary owner crash would have forced the transaction to roll back.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5568) KeyAffinityService race condition on view change
by RH Bugzilla Integration (JIRA)
[ https://issues.jboss.org/browse/ISPN-5568?page=com.atlassian.jira.plugin.... ]
RH Bugzilla Integration commented on ISPN-5568:
-----------------------------------------------
Brad Maxwell <bmaxwell(a)redhat.com> changed the Status of [bug 1233968|https://bugzilla.redhat.com/show_bug.cgi?id=1233968] from POST to MODIFIED
> KeyAffinityService race condition on view change
> ------------------------------------------------
>
> Key: ISPN-5568
> URL: https://issues.jboss.org/browse/ISPN-5568
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 5.2.11.Final
> Reporter: Dennis Reed
> Assignee: Bartosz Baranowski
> Fix For: 8.0.0.Beta2, 7.2.4.Final, 5.2.14.Final
>
>
> KeyAffinityService#getKeyForAddress runs in a tight loop looking for keys:
> {noformat}
> queue = address2key.get(address)
> while (result == null)
> result = queue.poll()
> {noformat}
> KeyAffinityService#handleViewChange clears and resets the queue list on membership change:
> {noformat}
> address2key.clear()
> for each address
> map.put(address, new queue)
> {noformat}
> If a view change comes in after getKeyForAddress gets the queue, and the queue is empty, it will get stuck in a tight loop looking at the wrong queue forever while new keys are added to the new queue.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5626) Clean up missing parts for Distributed Streams
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-5626?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-5626:
--------------------------------
Description:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# Add tests for containsValue requiring serialization overhead.
# Change isEmpty to use findAny
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
was:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# Add tests for containsValue requiring serialization overhead.
# Change isEmpty to use findAny
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader
> Clean up missing parts for Distributed Streams
> ----------------------------------------------
>
> Key: ISPN-5626
> URL: https://issues.jboss.org/browse/ISPN-5626
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Reporter: William Burns
> Assignee: William Burns
>
> There are some things left over that need to still be done possibly
> # Investigate iterator parallel stream performance
> # Add support for key filter applying to cache loader
> # Add cache loader managed blocker
> # Add tests for skip & limit.
> # Add tests for containsValue requiring serialization overhead.
> # Change isEmpty to use findAny
> # Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
> # Add timeout for remote operations to be equal to replication sync timeout
> # Add new BitSetSet support to reduce segments footprint
> # Support concurrent activations properly (this is also an issue with state transfer)
> # Add tests for parallel streams with a cache loader (covers this change https://github.com/infinispan/infinispan/pull/3602/files#diff-00281a3984a...)
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months
[JBoss JIRA] (ISPN-5626) Clean up missing parts for Distributed Streams
by William Burns (JIRA)
[ https://issues.jboss.org/browse/ISPN-5626?page=com.atlassian.jira.plugin.... ]
William Burns updated ISPN-5626:
--------------------------------
Description:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# Add tests for containsValue requiring serialization overhead.
# Change isEmpty to use findAny
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
# Add tests for parallel streams with a cache loader
was:
There are some things left over that need to still be done possibly
# Investigate iterator parallel stream performance
# Add support for key filter applying to cache loader
# Add cache loader managed blocker
# Add tests for skip & limit.
# Add tests for containsValue requiring serialization overhead.
# Change isEmpty to use findAny
# Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
# Add timeout for remote operations to be equal to replication sync timeout
# Add new BitSetSet support to reduce segments footprint
# Support concurrent activations properly (this is also an issue with state transfer)
> Clean up missing parts for Distributed Streams
> ----------------------------------------------
>
> Key: ISPN-5626
> URL: https://issues.jboss.org/browse/ISPN-5626
> Project: Infinispan
> Issue Type: Enhancement
> Components: Core
> Reporter: William Burns
> Assignee: William Burns
>
> There are some things left over that need to still be done possibly
> # Investigate iterator parallel stream performance
> # Add support for key filter applying to cache loader
> # Add cache loader managed blocker
> # Add tests for skip & limit.
> # Add tests for containsValue requiring serialization overhead.
> # Change isEmpty to use findAny
> # Need to test a map/flatMap operation after an intermediate terminal operation such as sorted. This is to verify the iterator doesn't use the different map operation.
> # Add timeout for remote operations to be equal to replication sync timeout
> # Add new BitSetSet support to reduce segments footprint
> # Support concurrent activations properly (this is also an issue with state transfer)
> # Add tests for parallel streams with a cache loader
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
10 years, 8 months