Infinispan is an open source data grid platform.
This is the location of the old Infinispan images for versions 9.4.x
and below. For the latest infinispan image,
please go here.
Docker image for Infinispan project
Infinispan is an open source data grid platform.
This is the location of the old Infinispan images for versions 9.4.x
and below. For the latest infinispan image,
please go here.
The internal host-slave.xml
wrongly configures the domain secret in the host controllers by specifying the user and not password
I want to run https://hub.docker.com/r/jboss/infinispan-server/ over ECS as a Service. This container has the following ports open 7600 8080 8181 8888 9990 11211 11222 57600. I want to access all these ports by connecting ALB with the target groups. I know 11222 accessible from HTTP, but I don't know how to use other ports. Could someone please help me to understand how I can do that.
For example:
infinispan.mydomain.com -> 11222 (HTTP Infispan App)
infinispan9990.mydomain.com -> 9990
etc.....
How can I use all those ports in the target groups for health checks? If not, then how can I use infinispan and all its ports from another service.
I know there is an implementation over EKS but I want to use ECS.
It looks like there are three way java options are referenced.
infinispan/server/docker-entrypoint.sh
Line 307 in 40234d6
JAVA_OPTS are only used in some of the CONTAINER_SETTINGS paths. Is that intended, or should they be exported always?
And additional options can be passed in as extra parameters to the script and will be part of SERVER_OPTIONS.
Can you clarify if I'm reading this correctly?
I think there's a typo in https://github.com/jboss-dockerfiles/infinispan/blob/9.4.x/server/docker-entrypoint.sh and similar on line 307 where it uses JAVA_OPTIONS
to look for existing -Xmx
settings.
It's the only mention of JAVA_OPTIONS
in that file, or in the infinispan-server directory. I think it should be JAVA_OPTS
.
Could the documentation be updated here and on Docker Hub to detail how to run Infinispan in Domain mode. See this SO question. Even a v3 docker-compose file so that an infinispan stack could be deployed to docker swarm
I am running this docker file. But I cannot to it.
My client configuration looks like
cb.tcpNoDelay(true)
.connectionPool()
.numTestsPerEvictionRun(3)
.testOnBorrow(false)
.testOnReturn(false)
.testWhileIdle(true)
.addServer()
.host("localhost")
.port(11222);
The stack trace looks like
org.infinispan.client.hotrod.exceptions.TransportException: Could not connect to server: /172.17.0.4:11372
at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransport.<init>(TcpTransport.java:78) ~[infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TransportObjectFactory.makeObject(TransportObjectFactory.java:37) ~[infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TransportObjectFactory.makeObject(TransportObjectFactory.java:16) ~[infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.apache.commons.pool.impl.GenericKeyedObjectPool.addObject(GenericKeyedObjectPool.java:1748) ~[infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransportFactory.updateTopologyInfo(TcpTransportFactory.java:356) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransportFactory.updateServers(TcpTransportFactory.java:315) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.protocol.Codec20.readNewTopologyAndHash(Codec20.java:418) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.protocol.Codec20.readNewTopologyIfPresent(Codec20.java:379) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.protocol.Codec20.readPartialHeader(Codec20.java:125) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.protocol.Codec20.readHeader(Codec20.java:118) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.operations.HotRodOperation.readHeaderAndValidate(HotRodOperation.java:56) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.operations.PingOperation.execute(PingOperation.java:45) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TransportObjectFactory.ping(TransportObjectFactory.java:52) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TransportObjectFactory.makeObject(TransportObjectFactory.java:45) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TransportObjectFactory.makeObject(TransportObjectFactory.java:16) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.apache.commons.pool.impl.GenericKeyedObjectPool.borrowObject(GenericKeyedObjectPool.java:1220) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransportFactory.pingServersIgnoreException(TcpTransportFactory.java:180) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.impl.transport.tcp.TcpTransportFactory.start(TcpTransportFactory.java:151) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.RemoteCacheManager.start(RemoteCacheManager.java:577) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.RemoteCacheManager.<init>(RemoteCacheManager.java:180) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at org.infinispan.client.hotrod.RemoteCacheManager.<init>(RemoteCacheManager.java:166) [infinispan-embedded-8.2.1.Final.jar:8.2.1.Final]
at com.bibliocommons.cache.InfinispanCacheConfig.getInfinispanCacheManager(InfinispanCacheConfig.java:35) [main/:?]
at com.bibliocommons.cache.InfinispanCacheConfig.getCacheManager(InfinispanCacheConfig.java:41) [main/:?]
To start with, I don't understand why the client has my docker files ip address instead of localhost I mentioned. In a remote machine, this is not going to work at all.
Second, why it fails? the port 11372 is exposed.
The README suggests running domain mode with:
docker run --name=dc -it jboss/infinispan-server domain-controller -mu user -mp password
But it fails with
[Host Controller] WFLYHC0062: Invalid option '-mu'. Use domain.sh --help for information on valid command line arguments and their syntax.
[Host Controller]
[Host Controller] Usage: domain.sh [args...]
[Host Controller] where args include:
[Host Controller] --admin-only Set the host controller's running type
[Host Controller] to ADMIN_ONLY causing it to open
[Host Controller] administrative interfaces and accept
[Host Controller] management requests but not start
[Host Controller] servers or, if this host controller is
[Host Controller] the master for the domain, accept
[Host Controller] incoming connections from slave host
[Host Controller] controllers.
[Host Controller]
[Host Controller]
[Host Controller] -b <value>, -b=<value> Set system property jboss.bind.address
[Host Controller] to the given value
[Host Controller]
[Host Controller]
[Host Controller] -b<interface>=<value> Set system property
[Host Controller] jboss.bind.address.<interface> to the
[Host Controller] given value
[Host Controller]
[Host Controller]
[Host Controller] --backup Keep a copy of the persistent domain
[Host Controller] configuration even if this host is not
[Host Controller] the Domain Controller
[Host Controller]
[Host Controller]
[Host Controller] -c <config>, -c=<config> Name of the domain configuration file
[Host Controller] to use (default is "domain.xml") (Same
[Host Controller] as --domain-config)
[Host Controller]
[Host Controller]
[Host Controller] --cached-dc If this host is not the Domain
[Host Controller] Controller and cannot contact the
[Host Controller] Domain Controller at boot, boot using a
[Host Controller] locally cached copy of the domain
[Host Controller] configuration (see --backup)
[Host Controller]
[Host Controller]
[Host Controller] -D<name>[=<value>] Set a system property
[Host Controller]
[Host Controller]
[Host Controller] --domain-config=<config> Name of the domain configuration file
[Host Controller] to use (default is "domain.xml") (Same
[Host Controller] as -c)
[Host Controller]
[Host Controller]
[Host Controller] -h, --help Display this message and exit
[Host Controller]
[Host Controller]
[Host Controller] --host-config=<config> Name of the host configuration file to
[Host Controller] use (default is "host.xml")
[Host Controller]
[Host Controller]
[Host Controller] --interprocess-hc-address=<address> Address on which the host controller
[Host Controller] should listen for communication from
[Host Controller] the process controller
[Host Controller]
[Host Controller]
[Host Controller] --interprocess-hc-port=<port> Port on which the host controller
[Host Controller] should listen for communication from
[Host Controller] the process controller
[Host Controller]
[Host Controller]
[Host Controller] --master-address=<address> Set system property
[Host Controller] jboss.domain.master.address to the
[Host Controller] given value. In a default slave Host
[Host Controller] Controller config, this is used to
[Host Controller] configure the address of the master
[Host Controller] Host Controller.
[Host Controller]
[Host Controller]
[Host Controller] --master-port=<port> Set system property
[Host Controller] jboss.domain.master.port to the given
[Host Controller] value. In a default slave Host
[Host Controller] Controller config, this is used to
[Host Controller] configure the port used for native
[Host Controller] management communication by the master
[Host Controller] Host Controller.
[Host Controller]
[Host Controller]
[Host Controller] --read-only-domain-config=<config> Name of the domain configuration file
[Host Controller] to use. This differs from
[Host Controller] '--domain-config', '-c' and
[Host Controller] '-domain-config' in that the initial
[Host Controller] file is never overwritten.
[Host Controller]
[Host Controller]
[Host Controller] --read-only-host-config=<config> Name of the host configuration file to
[Host Controller] use. This differs from '--host-config'
[Host Controller] in that the initial file is never
[Host Controller] overwritten.
[Host Controller]
[Host Controller]
[Host Controller] -P <url>, -P=<url>, Load system properties from the given
[Host Controller] --properties=<url> url
[Host Controller]
[Host Controller]
[Host Controller] --pc-address=<address> Address on which the process controller
[Host Controller] listens for communication from
[Host Controller] processes it controls
[Host Controller]
[Host Controller]
[Host Controller] --pc-port=<port> Port on which the process controller
[Host Controller] listens for communication from
[Host Controller] processes it controls
[Host Controller]
[Host Controller]
[Host Controller] -u <value>, -u=<value> Set system property
[Host Controller] jboss.default.multicast.address to the
[Host Controller] given value
[Host Controller]
[Host Controller]
[Host Controller] -V, -v, --version Print version and exit
[Host Controller]
[Host Controller]
[Host Controller] -secmgr Runs the server with a security manager
[Host Controller] installed.
[Host Controller]
[Host Controller]
[Host Controller] 17:09:13,508 FATAL [org.jboss.as.host.controller] (main) WFLYHC0178: Aborting with exit code 99
The CI tests don't take more than 5 minutes, and building it on TC makes it compete with several other projects that takes hours to build. Moving to travis would give ci tests a headache free and fast feedback
environment for PRs.
When domain mode is not working for some reason, the error is printed in sysout but the build is not aborting
Running: 9.1.0.Final-2
Jgroup version: 3.6.13.Final
INFINISPAN:
docker run -p9990:9990 -it
-eAPP_USER=admin
-eAPP_PASS=admin
-eMGMT_USER=admin
-eMGMT_PASS=admin
jboss/infinispan-server:9.1.0.Final
-Djboss.default.jgroups.stack=tcp-gossip
-Djgroups.gossip.initial_hosts=172.17.0.1[12001]
JGROUPS:
docker run -p 12001:12001 -e "LogLevel=TRACE" jboss/jgroups-gossip:3.6.12.Final
ERROR ON JGROUPS:
309388 [ERROR] GossipRouter: JGRP000188: failed reading request
java.lang.RuntimeException: class for magic number 0 not found
at org.jgroups.util.Util.readOtherAddress(Util.java:1194) ~[jgroups.jar:3.6.13.Final]
at org.jgroups.util.Util.readAddress(Util.java:1137) ~[jgroups.jar:3.6.13.Final]
at org.jgroups.protocols.PingData.readFrom(PingData.java:158) ~[jgroups.jar:3.6.13.Final]
at org.jgroups.stack.GossipData.readFrom(GossipData.java:171) ~[jgroups.jar:3.6.13.Final]
at org.jgroups.stack.GossipRouter.readRequest(GossipRouter.java:276) [jgroups.jar:3.6.13.Final]
at org.jgroups.stack.GossipRouter.receive(GossipRouter.java:231) [jgroups.jar:3.6.13.Final]
at org.jgroups.util.Util.bufferToArray(Util.java:798) [jgroups.jar:3.6.13.Final]
at org.jgroups.blocks.cs.ReceiverAdapter.receive(ReceiverAdapter.java:25) [jgroups.jar:3.6.13.Final]
at org.jgroups.blocks.cs.NioConnection._receive(NioConnection.java:239) [jgroups.jar:3.6.13.Final]
at org.jgroups.blocks.cs.NioConnection$Reader._run(NioConnection.java:454) [jgroups.jar:3.6.13.Final]
at org.jgroups.blocks.cs.NioConnection$Reader.run(NioConnection.java:443) [jgroups.jar:3.6.13.Final]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Hi there!
First and foremost, thank you for maintaining Infinispan.
I am currently facing an issue when trying the docker image in domain mode.
I run the following in 2 different tabs:
Tab 1:
docker run -e "MGMT_USER=admin" -e "MGMT_PASS=password" --name=dc -it jboss/infinispan-server domain-controller
All good. Everything start properly.
Tab 2:
docker run -e "MGMT_USER=admin" -e "MGMT_PASS=password" --link dc:dc -it jboss/infinispan-server host-controller
I get for each of the servers ([Server:server-one] & [Server:server-two]), this error:
Is it because of some additional config that need to be passed to the docker command line?
Is it somehow related to HotRodServer
?
Thank you in advance for your guidance.
Cheers,
In the "README.md" file the phrase "This repository contains Docker imgaes for different flavours..." should be "This repository contains Docker images for different flavours..."
We don't maintain the wildfly+modules image but we are still building it on every CI run. This should be removed
When I tried to start the image with environment variable MGMT_USER=admin_user (i.e. containing an underscore), docker-entrypoint.sh
silently exited with code 1, providing no additional information. I could not find any info on name restrictions in the user guide also. After removing the underscore the container started smoothly.
The following yaml yields a perpetually crashing pod in my environment unless I grant the pod a "privileged" security context:
[root@192 ~]# cat unprivileged-infinispan-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: unprivileged-infinispan-server
namespace: test4
spec:
containers:
- image: jboss/infinispan-server
ports:
- containerPort: 8080
protocol: TCP
- containerPort: 8181
protocol: TCP
- containerPort: 9990
protocol: TCP
- containerPort: 11211
protocol: TCP
- containerPort: 11222
protocol: TCP
imagePullPolicy: IfNotPresent
name: infinispan-server
restartPolicy: Always
When I add the following patch, the pod successfully starts:
[root@192 ~]# diff -u unprivileged-infinispan-pod.yaml privileged-infinispan-pod.yaml
--- unprivileged-infinispan-pod.yaml 2015-11-11 12:07:29.417205199 -0500
+++ privileged-infinispan-pod.yaml 2015-11-09 11:12:03.113293337 -0500
@@ -1,11 +1,13 @@
apiVersion: v1
kind: Pod
metadata:
- name: unprivileged-infinispan-server
+ name: privileged-infinispan-server
namespace: test4
spec:
containers:
- image: jboss/infinispan-server
+ securityContext:
+ privileged: true
ports:
- containerPort: 8080
protocol: TCP
[root@192 ~]#
Attaching to the docker instance of the failed unprivileged pod shows no valid /opt/jboss/
Entry point shoves username to configuration file. This works fine in the initial start, but afterward, if I want to restart the container, it throws a duplicate attribute exception.
docker run -it -e "JAVA_OPTS=-Dprop=value" jboss/infinispan-server
will not set the JAVA_OPTS and will print a WARNING:
JAVA_OPTS already set in environment; overriding default settings with values: -Djava.net.preferIPv4Stack=true -XX:+DisableExplicitGC -Djboss.modules.system.pkgs=org.jboss.byteman,org.jboss.logmanager.LogManager
Setting the username and password, and trying to log in with them using Hotrod, you get an error message that whatever SASL mech you define, it is not support. And the only supported SASL mechs are []
.
I think this is due to the fact that the hotrod connector is not configured to use SASL: https://infinispan.org/docs/stable/server_guide/server_guide.html#security_hotrod_auth
We are currently downloading the server from maven, but this will not be available anymore in the next versions. We should download it from http://downloads.jboss.org/infinispan/$VERSION/infinispan-server-$VERSION.zip
instead.
Currently we have no automatic tests for domain mode (which is very fragile). We will feel much more confident if there's something automatic defending us.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.