Giter Site home page Giter Site logo

infinispan's Introduction

Infinispan Docker Image

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.

infinispan's People

Contributors

diuis avatar galderz avatar goldmann avatar karesti avatar mgencur avatar oscerd avatar pruivo avatar ryanemerson avatar shawkins avatar slaskawi avatar tristantarrant avatar vjuranek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

infinispan's Issues

Infinispan over ECS

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.

Confusion over java options

It looks like there are three way java options are referenced.

  • if echo "${JAVA_OPTIONS}" | grep -q -- "-Xmx"; then
    - mentions JAVA_OPTIONS, should that just be JAVA_OPTS?

  • 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?

Cannot connect to infinispan host running inside docker

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.

Running domain mode with -mu and -mp fails

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

Support CI on travis

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.

GossipRouter: JGRP000188: failed reading request

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]

Issue when running the example Docker in domain mode

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:

screen shot 2018-04-16 at 13 02 26

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,

Fix Typo

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..."

Silently fails when management username has underscore

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.

Image fails to start in OSE 3.0.2 w/out privileged context

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/

restarting host-controller doesn't work

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.

custom JAVA_OPTS are ignored

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

Change server download URL

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.