[JBoss JIRA] (ISPN-7624) Change CacheLoaderInterceptor to ignore in memory for certain operations when passivation is not enabled
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7624?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7624:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> Change CacheLoaderInterceptor to ignore in memory for certain operations when passivation is not enabled
> --------------------------------------------------------------------------------------------------------
>
> Key: ISPN-7624
> URL: https://issues.jboss.org/browse/ISPN-7624
> Project: Infinispan
> Issue Type: Bug
> Components: Loaders and Stores
> Reporter: William Burns
> Assignee: William Burns
> Fix For: 9.2.0.Final
>
>
> CacheLoader currently reads all in memory entries and then the store for bulk operations. This can be changed to only load from the store when passivation is not used as it should contain all entries that aren't in memory.
> The only issue is that if Flag.SKIP_CACHE_STORE was used on a write. In this case we could store a boolean in the interceptor so that if this Flag is ever used we always do both. Very few users use this Flag and it should improve performance a bit and entries should be seen more consistently.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7606) DistributedExecutorMassIndexer.executeInternal should use an existing pool
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7606?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7606:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> DistributedExecutorMassIndexer.executeInternal should use an existing pool
> --------------------------------------------------------------------------
>
> Key: ISPN-7606
> URL: https://issues.jboss.org/browse/ISPN-7606
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying
> Affects Versions: 9.0.0.CR2
> Reporter: Dan Berindei
> Assignee: Gustavo Fernandes
> Fix For: 9.2.0.Final
>
>
> {{DistributedExecutorMassIndexer.executeInternal}} creates 2 executors:
> 1. {{new DefaultExecutorService(cache)}} implicitly creates a single-threaded executor to run tasks on the local node.
> 2. {{compositeFuture.whenCompleteAsync(consumer, Executors.newSingleThreadExecutor())}} explicitly creates a new single-threaded executor to run the consumer on.
> Neither of these executors are shut down, and rather than complicating the code to stop them properly it would be better to use an existing executor.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7553) Replicated cache with numOwners=1 doesn't send writes to backups
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7553?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7553:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> Replicated cache with numOwners=1 doesn't send writes to backups
> ----------------------------------------------------------------
>
> Key: ISPN-7553
> URL: https://issues.jboss.org/browse/ISPN-7553
> Project: Infinispan
> Issue Type: Bug
> Components: Core
> Affects Versions: 9.0.0.CR2
> Reporter: Dan Berindei
> Assignee: Dan Berindei
> Priority: Critical
> Fix For: 9.2.0.Final
>
>
> {{BaseDistributionInterceptor.primaryReturnHandler()}} doesn't replicate writes to the backups if {{cacheConfiguration.clustering().hash().numOwners() == 1}}. That check is incorrect, because a segment can have more owners than configured:
> 1. In a replicated cache, the configured {{numOwners}} is ignored, and all the members are owners.
> 1. Even in a distributed cache, during rebalance, the segments being moved will have more than {{numOwners}} owners.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7863) ISPN028501 (no property named) when access field after group by (by only certain char's)
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7863?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7863:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> ISPN028501 (no property named) when access field after group by (by only certain char's)
> -----------------------------------------------------------------------------------------
>
> Key: ISPN-7863
> URL: https://issues.jboss.org/browse/ISPN-7863
> Project: Infinispan
> Issue Type: Bug
> Components: Embedded Querying, Remote Querying
> Affects Versions: 9.0.0.Final
> Reporter: Gregory Orciuch
> Assignee: Adrian Nistor
> Fix For: 9.2.0.Final
>
>
> Links to: https://issues.jboss.org/browse/ISPN-7861
> When quering ISPN server over hotrod and trying to access field which begins with "v" character that field access is lost but together with "group by" operator.
> Example of entity using proto/annotations:
> {code:java}
> @ProtoDoc("@Indexed")
> public class Offering implements Serializable {
> private String name;
> private Integer relationSetId;
> private Integer variant;
>
> @ProtoDoc("@Field(store = Store.YES, analyze = Analyze.YES)")
> @ProtoField(number = 5, required = true)
> public String getName() {
> return name;
> }
> public void setName(String name) {
> this.name = name;
> }
>
> @ProtoField(number = 44)
> public Integer getRelationSetId() {
> return relationSetId;
> }
> public void setRelationSetId(Integer relationSetId) {
> this.relationSetId = relationSetId;
> }
>
> @ProtoDoc("@Field(store = Store.YES, analyze = Analyze.NO)")
> @ProtoField(number = 50)
> public Integer getVariant() {
> return variant;
> }
> public void setVariant(Integer variant) {
> this.variant = variant;
> }
>
> }
> {code}
> Then executing query like this:
> {code:sql}
> select min(_gen0.name),min(_gen0.variant) FROM Offering _gen0 WHERE _gen0.variant = 44 GROUP BY _gen0.relationSetId
> {code}
> Produces server side error which mentions "ariant" - v - is lost. Paste is below.
> NOT using group by is causing that query to run well.
> ALSO Changing variable name from variant to "bariant" helps.
> LOOKS like there is some code which restricts the name or parses wrongly.
> Affects not only simple type fields but also List<Variant> variants - "v" is lost.
> {panel:title=log}
> 14:02:50,951 DEBUG [org.infinispan.query.dsl.embedded.impl.QueryEngine] (HotRod-ServerHandler-6-16) Building query 'select min(_gen0.name),min(_gen0.variant) FROM Offering _gen0 WHERE _gen0.variant = 44 GROUP BY _gen0.relationSetId' with parameters null
> 14:02:50,953 DEBUG [org.infinispan.server.hotrod.HotRodExceptionHandler] (HotRod-ServerWorker-4-1) Exception caught: org.infinispan.objectfilter.ParsingException: ISPN028501: The type Offering has no property named '*ariant*'.
> at org.infinispan.objectfilter.impl.syntax.parser.QueryResolverDelegateImpl.normalizeProperty(QueryResolverDelegateImpl.java:191)
> at org.infinispan.objectfilter.impl.syntax.parser.QueryResolverDelegateImpl.normalizeUnqualifiedPropertyReference(QueryResolverDelegateImpl.java:84)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.unqualifiedPropertyReference(QueryResolver.java:7651)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.propertyReferencePath(QueryResolver.java:7548)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.propertyReferenceExpression(QueryResolver.java:5689)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.valueExpressionPrimary(QueryResolver.java:5495)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.valueExpression(QueryResolver.java:5271)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.rowValueConstructor(QueryResolver.java:4490)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.predicate(QueryResolver.java:3326)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.searchCondition(QueryResolver.java:2979)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.whereClause(QueryResolver.java:655)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.querySpec(QueryResolver.java:510)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.queryStatement(QueryResolver.java:379)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.queryStatementSet(QueryResolver.java:292)
> at org.infinispan.objectfilter.impl.ql.parse.QueryResolver.statement(QueryResolver.java:220)
> at org.infinispan.objectfilter.impl.ql.QueryParser.resolve(QueryParser.java:81)
> at org.infinispan.objectfilter.impl.ql.QueryParser.parseQuery(QueryParser.java:69)
> at org.infinispan.objectfilter.impl.syntax.parser.IckleParser.parse(IckleParser.java:19)
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.lambda$parse$1(QueryEngine.java:663)
> at org.infinispan.query.dsl.embedded.impl.QueryCache.lambda$get$0(QueryCache.java:79)
> at org.infinispan.cache.impl.TypeConverterDelegatingAdvancedCache.lambda$convertFunction$1(TypeConverterDelegatingAdvancedCache.java:101)
> at java.util.concurrent.ConcurrentMap.computeIfAbsent(ConcurrentMap.java:324)
> at org.infinispan.cache.impl.AbstractDelegatingCache.computeIfAbsent(AbstractDelegatingCache.java:343)
> at org.infinispan.cache.impl.TypeConverterDelegatingAdvancedCache.computeIfAbsent(TypeConverterDelegatingAdvancedCache.java:161)
> at org.infinispan.query.dsl.embedded.impl.QueryCache.get(QueryCache.java:79)
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.parse(QueryEngine.java:663)
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.buildQueryWithAggregations(QueryEngine.java:299)
> at org.infinispan.query.dsl.embedded.impl.QueryEngine.buildQuery(QueryEngine.java:139)
> at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.createQuery(DelegatingQuery.java:91)
> at org.infinispan.query.dsl.embedded.impl.DelegatingQuery.list(DelegatingQuery.java:98)
> at org.infinispan.query.remote.impl.QueryFacadeImpl.makeResponse(QueryFacadeImpl.java:61)
> at org.infinispan.query.remote.impl.QueryFacadeImpl.query(QueryFacadeImpl.java:53)
> at org.infinispan.server.hotrod.HotRodServer.query(HotRodServer.java:116)
> at org.infinispan.server.hotrod.ContextHandler.realRead(ContextHandler.java:148)
> at org.infinispan.server.hotrod.ContextHandler.lambda$null$0(ContextHandler.java:59)
> at org.infinispan.security.Security.doAs(Security.java:143)
> at org.infinispan.server.hotrod.ContextHandler.lambda$channelRead0$1(ContextHandler.java:58)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
> at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:144)
> at java.lang.Thread.run(Thread.java:748)
> {panel}
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months
[JBoss JIRA] (ISPN-7856) Do not re-distribute the org.hibernate.search.orm module
by Tristan Tarrant (JIRA)
[ https://issues.jboss.org/browse/ISPN-7856?page=com.atlassian.jira.plugin.... ]
Tristan Tarrant updated ISPN-7856:
----------------------------------
Fix Version/s: 9.2.0.Final
(was: 9.1.0.Final)
> Do not re-distribute the org.hibernate.search.orm module
> --------------------------------------------------------
>
> Key: ISPN-7856
> URL: https://issues.jboss.org/browse/ISPN-7856
> Project: Infinispan
> Issue Type: Bug
> Components: Build process
> Reporter: Sanne Grinovero
> Assignee: Gustavo Fernandes
> Priority: Minor
> Fix For: 9.2.0.Final
>
>
> Infinispan's build process is currently re-publishing the Hibernate Search modules as it needs to make some changes in their structure.
> However it only needs the {{hibernate-search-engine}} component and some other extensions, it should not re-publish the {{org.hibernate.search.orm}} WildFly module as this is unnecessary and can confuse people about the intended purpose of these modules.
> Side note: do we still need to re-distributed these modules at all? We did some improvements in the build, I wonder if we could avoid this dodgy process.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
7 years, 6 months