标签: infinispan

PSQLException:当前事务被中止,命令被忽略直到事务块结束

我在JBoss 7.1.1 Final的server.log文件中看到以下(截断的)stacktrace:

Caused by: org.postgresql.util.PSQLException: 
ERROR: current transaction is aborted, commands ignored until end of 
transaction block

at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2102)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1835)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:302)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.6.0_23]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) [rt.jar:1.6.0_23]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) [rt.jar:1.6.0_23]
at java.lang.reflect.Method.invoke(Method.java:597) [rt.jar:1.6.0_23]
at org.postgresql.ds.jdbc23.AbstractJdbc23PooledConnection$StatementHandler.invoke(AbstractJdbc23PooledConnection.java:455)
at $Proxy49.executeUpdate(Unknown Source)   at org.jboss.jca.adapters.jdbc.WrappedStatement.executeUpdate(WrappedStatement.java:371)
at org.infinispan.loaders.jdbc.TableManipulation.executeUpdateSql(TableManipulation.java:154) [infinispan-cachestore-jdbc-5.1.2.FINAL.jar:5.1.2.FINAL]
... 154 more
Run Code Online (Sandbox Code Playgroud)

检查Postgres日志文件会显示以下语句:

STATEMENT:  SELECT count(*) FROM ISPN_MIXED_BINARY_TABLE_configCache
ERROR:  current transaction is aborted, commands ignored until end of transaction block
STATEMENT:  CREATE TABLE ISPN_MIXED_BINARY_TABLE_configCache(ID_COLUMN VARCHAR(255) NOT …
Run Code Online (Sandbox Code Playgroud)

postgresql jboss infinispan

132
推荐指数
9
解决办法
20万
查看次数

EHCache与Terracotta Vs Infinispan

我们正在新项目的设计阶段工作,我们需要决定缓存框架.我们需要决定是否将EHCache与Terracotta或Infinispan一起用于缓存要求?任何人都可以向我提供EHCache和Infinispan的优缺点吗?

提前致谢.

terracotta ehcache infinispan

13
推荐指数
2
解决办法
1万
查看次数

如何使 keycloak 会话在服务器重新启动或升级后继续存在?

Keycloak配置和数据存储在关系数据库中,通常持久化到硬盘上。这包括领域设置、用户、组和角色成员资格、身份验证流程等数据。但用户会话只会存储在临时内存中的 infinispan 缓存中。因此,当 keycloak 服务器重新启动时,该缓存中的会话数据将会丢失。

需要重新启动 Keycloak 服务器的原因有很多。主要操作系统升级、Keycloak 服务器升级到新版本、对 keycloak 电子邮件模板应用更改或将 keycloak pod 重新调度到 kubernetes 或其他基于云的环境中的其他工作节点。

如何保留会话数据以在重新启动后继续存在。理想情况下,无需维护自定义 infinspan 服务器或使用 keycloak“离线会话”。


一种解决方案可能是简单地使用所谓的 keycloak “离线会话”,但这些会话也有巨大的缺点:

  • 即使用户注销,它们仍然有效
  • 不再可以使用 keycloak 管理控制台注销用户

请参阅:https ://www.keycloak.org/docs/latest/server_admin/#_offline-access


当 keycloak > 17 退出并使用全新的 quarkus 发行版时,这个问题是否仍然存在?因为在接下来的文章中声称了容器优先方法零停机升级存储重构等目标。

session infinispan openid-connect keycloak

13
推荐指数
0
解决办法
2720
查看次数

如何解决Wildfly中"无法获取15秒后的锁定"错误

我有一个Web应用程序<distributable/>,但也部署为独立的Wildfly实例,用于本地开发工作.有时我们会调用后端可以停止几秒钟,这通常会导致如下所示的异常.

鉴于我无法控制长时间运行的后端请求,我该如何解决这个问题呢?

14:55:04,808 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (default task-6) ISPN000136: Error executing command LockControlCommand, writing keys []: org.infinispan.util.concurrent.TimeoutException: ISPN000299: Unable to acquire lock after 15 seconds for key LA6Q5r9L1q-VF2tyKE9Pc_bO9yYtzXu8dYt8l-BQ and requestor GlobalTransaction:<null>:37:local. Lock is held by GlobalTransaction:<null>:36:local
    at org.infinispan.util.concurrent.locks.impl.DefaultLockManager$KeyAwareExtendedLockPromise.lock(DefaultLockManager.java:236)
    at org.infinispan.interceptors.locking.AbstractLockingInterceptor.lockAllAndRecord(AbstractLockingInterceptor.java:199)
    at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.checkPendingAndLockAllKeys(AbstractTxLockingInterceptor.java:199)
    at org.infinispan.interceptors.locking.AbstractTxLockingInterceptor.lockAllOrRegisterBackupLock(AbstractTxLockingInterceptor.java:165)
    at org.infinispan.interceptors.locking.PessimisticLockingInterceptor.visitLockControlCommand(PessimisticLockingInterceptor.java:184)
    at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:110)
    at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
    at org.infinispan.interceptors.TxInterceptor.invokeNextInterceptorAndVerifyTransaction(TxInterceptor.java:157)
    at org.infinispan.interceptors.TxInterceptor.visitLockControlCommand(TxInterceptor.java:215)
    at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:110)
    at org.infinispan.interceptors.base.CommandInterceptor.invokeNextInterceptor(CommandInterceptor.java:99)
    at org.infinispan.interceptors.InvocationContextInterceptor.handleAll(InvocationContextInterceptor.java:107)
    at org.infinispan.interceptors.InvocationContextInterceptor.visitLockControlCommand(InvocationContextInterceptor.java:81)
    at org.infinispan.commands.control.LockControlCommand.acceptVisitor(LockControlCommand.java:110)
    at org.infinispan.interceptors.InterceptorChain.invoke(InterceptorChain.java:336)
    at org.infinispan.cache.impl.CacheImpl.lock(CacheImpl.java:828)
    at org.infinispan.cache.impl.CacheImpl.lock(CacheImpl.java:810)
    at org.infinispan.cache.impl.AbstractDelegatingAdvancedCache.lock(AbstractDelegatingAdvancedCache.java:177)
    at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.getValue(InfinispanSessionMetaDataFactory.java:84)
    at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.findValue(InfinispanSessionMetaDataFactory.java:69)
    at org.wildfly.clustering.web.infinispan.session.InfinispanSessionMetaDataFactory.findValue(InfinispanSessionMetaDataFactory.java:39)
    at …
Run Code Online (Sandbox Code Playgroud)

infinispan wildfly

10
推荐指数
1
解决办法
1万
查看次数

Keycloak:从嵌入式到远程 Infinispan 重建时到 Infinispan 集群的持久缓存同步超时

我正在将 keycloak (v.3.4.0 final) 从使用嵌入式 infinispan 切换到专用的远程 infinispan 集群 (v8.2.8.final)。我已经完成了升级过程,在较低的环境中使用 infinispan 集群作为远程存储,没有问题。在我的生产设置中,我遇到了 InfinispanCacheInitializer 上的超时异常

Keycloak 发生错误的地方:https : //github.com/keycloak/keycloak/blob/3.4.2.Final/model/infinispan/src/main/java/org/keycloak/models/sessions/infinispan/initializer/InfinispanCacheInitializer .java#L117

ERROR [org.keycloak.models.sessions.infinispan.initializer.InfinispanCacheInitializer] (ServerService Thread Pool -- 54) ExecutionException when computed future. Errors: 13: java.util.concurrent.ExecutionException: java.util.concurrent.TimeoutExc
eption                                                                                                                                                                                                                                                                      
        at org.infinispan.distexec.DefaultExecutorService$DistributedTaskPart.get(DefaultExecutorService.java:850)                                                                                                                                                          
        at org.keycloak.models.sessions.infinispan.initializer.InfinispanCacheInitializer.startLoading(InfinispanCacheInitializer.java:102)                                                                                                                                 
        at org.keycloak.models.sessions.infinispan.initializer.DBLockBasedCacheInitializer.startLoading(DBLockBasedCacheInitializer.java:75)                                                                                                                                
        at org.keycloak.models.sessions.infinispan.initializer.CacheInitializer.loadSessions(CacheInitializer.java:41)                                                                                                                                                      
        at org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$2.run(InfinispanUserSessionProviderFactory.java:150)                                                                                                                                
        at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:227)                                                                                                                                                                    
        at org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory.loadPersistentSessions(InfinispanUserSessionProviderFactory.java:137)                                                                                                               
        at org.keycloak.models.sessions.infinispan.InfinispanUserSessionProviderFactory$1.onEvent(InfinispanUserSessionProviderFactory.java:108)                                                                                                                            
        at org.keycloak.services.DefaultKeycloakSessionFactory.publish(DefaultKeycloakSessionFactory.java:68)                                                                                                                                                               
        at org.keycloak.services.resources.KeycloakApplication$2.run(KeycloakApplication.java:165)                                                                                                                                                                          
        at org.keycloak.models.utils.KeycloakModelUtils.runJobInTransaction(KeycloakModelUtils.java:227)                                                                                                                                                                    
        at org.keycloak.services.resources.KeycloakApplication.<init>(KeycloakApplication.java:158)                                                                                                                                                                         
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)                                                                                                                                                                                            
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)                                                                                                                                                                     
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)                                                                                                                                                             
        at java.lang.reflect.Constructor.newInstance(Constructor.java:423)                                                                                                                                                                                                  
        at org.jboss.resteasy.core.ConstructorInjectorImpl.construct(ConstructorInjectorImpl.java:150)                                                                                                                                                                      
        at org.jboss.resteasy.spi.ResteasyProviderFactory.createProviderInstance(ResteasyProviderFactory.java:2298)                                                                                                                                                         
        at org.jboss.resteasy.spi.ResteasyDeployment.createApplication(ResteasyDeployment.java:340)                                                                                                                                                                         
        at org.jboss.resteasy.spi.ResteasyDeployment.start(ResteasyDeployment.java:253)                                                                                                                                                                                     
        at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.init(ServletContainerDispatcher.java:120)                                                                                                                                                   
        at …
Run Code Online (Sandbox Code Playgroud)

java caching infinispan keycloak

10
推荐指数
0
解决办法
382
查看次数

Disable Infinispan Clustering in Wildfly 10.1

I have two Wildfly 10.1.0 Final server running on the same machine. Each has the same application deployed but for different clients. Each server is also configured to use Inifinispan 8.2.4 as a second level cache.

Now, here is the situation: the first server starts and it comes to the following log entries:

2017-04-19 06:25:29,414 INFO  (ServerService Thread Pool -- 61) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.start) ISPN000078: Starting JGroups channel infinispan-hibernate-cluster
2017-04-19 06:25:36,166 INFO  (ServerService Thread Pool -- 61) [org.infinispan.remoting.transport.jgroups.JGroupsTransport.viewAccepted) ISPN000094: Received new cluster …
Run Code Online (Sandbox Code Playgroud)

hibernate java-ee infinispan ejb-3.1 wildfly

9
推荐指数
1
解决办法
1676
查看次数

使用Infinispan和Wildfly配置Hibernate搜索

我正在配置Hibernate Search 5.5.5在Wildfly 10上使用Infinispan 8.2.2.我在Wildfly中只配置了Infinispan模块,而不是Hibernate Search模块.

在persistence.xml里面我把这个配置:

<property name="hibernate.search.infinispan.cachemanager_jndiname" value="java:jboss/infinispan/container/hibernateSearch" />
<property name="wildfly.jpa.hibernate.search.module" value="none" />
Run Code Online (Sandbox Code Playgroud)

这是因为似乎使用了Infinispan,但不会持久保存索引.

所有缓存都在domain.xml中配置如下:

<cache-container name="hibernateSearch" default-cache="LuceneIndexesData" jndi-name="java:jboss/infinispan/hibernateSearch" statistics-enabled="false">
      <replicated-cache name="LuceneIndexesMetadata" mode="ASYNC">
          <file-store fetch-state="false" passivation="false" preload="false" purge="false" shared="false" singleton="false"/>
      </replicated-cache>
      <replicated-cache name="LuceneIndexesLocking" mode="SYNC">
           <file-store fetch-state="false" passivation="false" preload="false" purge="false" shared="false" singleton="false"/>
      </replicated-cache>
      <replicated-cache name="LuceneIndexesData" mode="ASYNC">
           <file-store fetch-state="false" passivation="false" preload="false" purge="false" shared="false" singleton="false"/>
      </replicated-cache>
 </cache-container>
Run Code Online (Sandbox Code Playgroud)

在jboss-deployment-structure.xml中:

<module name="org.infinispan" slot="ispn-8.2"/>
<module name="org.hibernate.search.orm" services="export" />
Run Code Online (Sandbox Code Playgroud)

当我尝试索引所有我收到此错误:

UNHANDLED_EXCEPTION: java.lang.IllegalArgumentException: java.lang.Object is not an indexed entity or a subclass of an indexed entity …
Run Code Online (Sandbox Code Playgroud)

java hibernate hibernate-search infinispan wildfly

8
推荐指数
1
解决办法
573
查看次数

如何禁用Wildfly 9.0.2尝试序列化群集应用程序中的某些类

在设置集群期间,我遇到了WildFly/Infinispan的问题,试图序列化一些可以在每个实例上重新创建的类 - 尽管无论出于什么原因它们似乎决定在集群中分发.

最初我认为@Stateless注释会产生我想要的效果,虽然它会因为没有正确的构造函数而引发问题,所以我不相信这是我们正在寻找的.

在每个类的基础上禁用此方法或覆盖序列化方法的正确方法是什么?

java infinispan wildfly wildfly-9

7
推荐指数
1
解决办法
356
查看次数

Keycloak - Infinispan Redis缓存商店

目前在standalone-ha模式下设置keycloak集群,以便能够在docker swarm上运行.在keycloak中,用户会话缓存在嵌入式infinispan存储中,infinispan可以配置为跨群集的分布式缓存.

我还将所有者设置为2,但问题是..在缩小规模期间,用户会话可能会丢失,如果包含缓存的所有者都在缩小期间被杀死.

我也读过有关Infinispan Redis缓存存储的信息,但我不知道如何配置它.

问题1:是否可以将Keycloak Infinispan配置为用户Redis商店?

问题2:如果不可能,有没有办法可以克服这个问题?

任何的意见都将会有帮助.

jboss infinispan wildfly keycloak

7
推荐指数
2
解决办法
2545
查看次数

capacityFactor> 0个节点被重新添加到集群中,系统无法恢复到稳定状态?

我在JBoss论坛上复制了以下问题.我们面临同样的问题.

这是我的场景:

我只有一个DIST_SYNC缓存,集群中的大多数JVM都配置了capacityFactor = 0(类似于distibutedlocalstorage=falseCoherence 的属性),并且某些节点配置了capacityFactor>0(例如1000).我们谈论的是100个节点和capacityFactor=0另外4个节点,其中集群是一个单独的"站点/机架".分区处理已关闭,numOwners为1.

当所有节点capacityFactor > 0都关闭时,群集将进入降级状态,如果没有完整的群集重新启动,它将无法再恢复.

如果我启用分区处理,那么可以抛出有效的异常,我认为是预期的行为(Infinispan用户指南).

我认为这是问题,这是一个错误:

14/11/17 09:27:25 WARN topology.CacheTopologyControlCommand:ISPN000071:处理命令时遇到异常CacheTopologyControlCommand {cache = shared,type = JOIN,sender = testserver1 @ xxxxxxx-22311,site-id = xxx,rack-id = xxx,machine-id = 24字节,joinInfo = CacheJoinInfo {consistentHashFactory =org.infinispan.distribution.ch.impl.TopologyAwareConsistentHashFactory@78b791ef,hashFunction = MurmurHash3,numSegments = 60,numOwners = 1,timeout = 120000,totalOrder = false,distributed = true},topologyId = 0,rebalanceId = 0,currentCH = null,pendingCH = null,availabilityMode = null,throwable = null,viewId = 3}

java.lang.IllegalArgumentException:缓存拓扑的挂起一致性哈希必须包含所有当前一致哈希的成员

    at org.infinispan.topology.CacheTopology.<init>(CacheTopology.java:48)

    at org.infinispan.topology.CacheTopology.<init>(CacheTopology.java:43)

    at org.infinispan.topology.ClusterCacheStatus.startQueuedRebalance(ClusterCacheStatus.java:631)

    at org.infinispan.topology.ClusterCacheStatus.queueRebalance(ClusterCacheStatus.java:85)

    at …
Run Code Online (Sandbox Code Playgroud)

java infinispan

7
推荐指数
0
解决办法
141
查看次数