Code Monkey home page Code Monkey logo

docker's Introduction

Terracotta Server OSS running in a Docker container

Before proceeding, make sure to

Terracotta Server OSS images versions

latest tag currently points at ehcache 3.8.0 / Terracotta Server OSS 5.6.4

Kubernetes / Helm instructions

  • Look for the kubernetes folder in the latest version folder to have an example Kubernetes manifest file.
  • Using Helm ? Go and checkout our Terracotta OSS Helm chart!

Important notes

Those instructions are targeted at Docker version 1.13 and onwards - your host needs to have at least 2GB of RAM Terracotta default ports changed from version 5.3 :

  • tsa port (clients to servers) from 9510 to 9410
  • group port (servers sync.) from 9530 to 9430

docker's People

Contributors

anthonydahanne avatar henri-tremblay avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

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

docker's Issues

Https required to download from maven

When trying to run any of the server docker builds, it fails with

Step 4/19 : RUN wget -q http://repo1.maven.org/maven2/org/ehcache/ehcache-clustered/3.8.0/ehcache-clustered-3.8.0-kit.tgz   && mkdir /terracotta   && tar xvzf ehcache-clustered-3.8.0-kit.tgz -C /terracotta --strip-components=1   && rm ehcache-clustered-3.8.0-kit.tgz
 ---> Running in 9dba37f832e1
wget: server returned error: HTTP/1.1 501 HTTPS Required

This was for 5.6.4 but I see the other versions also has the same line. Adding https to the url solves it

Support for ehcache v3.9.x

Per the documentation the supported versions today compatible with each other are:

5.6.4, matches Ehcache 3.8.0, available from : ehcache/ehcache3/releases [//]: # (needle_version)

As of this writing, ehcache 3.9.x seems incompatible with Terracotta when run using:

docker run --rm --name tc-server -p 9410:9410 -d \
 --env OFFHEAP_RESOURCE1_NAME=main \
 --env OFFHEAP_RESOURCE2_NAME=extra \
 --env OFFHEAP_RESOURCE1_SIZE=256 \
 --env OFFHEAP_RESOURCE2_SIZE=16 \
terracotta/terracotta-server-oss:5.6.4

Error message from the ehcache 3.9.x client (3.9.2 to be exact):

2021-02-26 15:21:05,830 ERROR [com.tc.object.handshakemanager.ClientHandshakeManagerImpl] - <ClientID[13]: Interrupted while waiting for handshake>
org.terracotta.exception.ConnectionClosedException: Entity: org.terracotta.lease.LeaseAcquirer:SystemLeaseAcquirer Connection closed before sending message
	at com.tc.object.ClientEntityManagerImpl.throwClosedExceptionOnMessage(ClientEntityManagerImpl.java:514)
	at com.tc.object.ClientEntityManagerImpl.queueInFlightMessage(ClientEntityManagerImpl.java:656)
	at com.tc.object.ClientEntityManagerImpl.queueInFlightMessage(ClientEntityManagerImpl.java:626)
	at com.tc.object.ClientEntityManagerImpl.sendMessageWhileBusy(ClientEntityManagerImpl.java:597)
	at com.tc.object.ClientEntityManagerImpl.internalRelease(ClientEntityManagerImpl.java:577)
	at com.tc.object.ClientEntityManagerImpl.internalLookup(ClientEntityManagerImpl.java:563)
	at com.tc.object.ClientEntityManagerImpl.fetchEntity(ClientEntityManagerImpl.java:188)
	at com.terracotta.connection.entity.TerracottaEntityRef.fetchEntity(TerracottaEntityRef.java:82)
	at org.terracotta.lease.LeaseMaintainerFactory.getLeaseAcquirer(LeaseMaintainerFactory.java:63)
	at org.terracotta.lease.LeaseMaintainerFactory.createLeaseMaintainer(LeaseMaintainerFactory.java:46)
	at org.terracotta.lease.connection.BasicLeasedConnection.create(BasicLeasedConnection.java:40)
	at org.terracotta.lease.connection.LeasedConnectionServiceImpl.createLeasedConnection(LeasedConnectionServiceImpl.java:58)
	at org.terracotta.lease.connection.LeasedConnectionServiceImpl.connect(LeasedConnectionServiceImpl.java:47)
	at org.terracotta.lease.connection.LeasedConnectionFactory.getLeasedConnection(LeasedConnectionFactory.java:71)
	at org.terracotta.lease.connection.LeasedConnectionFactory.connect(LeasedConnectionFactory.java:47)
	at org.ehcache.clustered.client.internal.ConnectionSource$ClusterUri.connect(ConnectionSource.java:71)
	at org.ehcache.clustered.client.internal.service.ConnectionState.connect(ConnectionState.java:151)
	at org.ehcache.clustered.client.internal.service.ConnectionState.initClusterConnection(ConnectionState.java:128)
	at org.ehcache.clustered.client.internal.service.DefaultClusteringService.start(DefaultClusteringService.java:122)
	at org.ehcache.core.spi.ServiceLocator.startAllServices(ServiceLocator.java:128)
	at org.ehcache.core.EhcacheManager.init(EhcacheManager.java:577)
	at org.ehcache.jsr107.EhcacheCachingProvider.createCacheManager(EhcacheCachingProvider.java:159)
	at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:134)
	at org.ehcache.jsr107.EhcacheCachingProvider.getCacheManager(EhcacheCachingProvider.java:97)

Terracotta server logs:

2021-02-26 11:21:07.971 ERROR   --- [orkerComm # 0_R] c.t.n.protocol.tcm.TCMessageHydrateSink : Error hydrating message of type CLIENT_HANDSHAKE_MESSAGE
com.tc.net.protocol.tcm.UnknownNameException: unknown name: 10 for message class com.tc.object.msg.ClientHandshakeMessageImpl
	at com.tc.net.protocol.tcm.TCMessageImpl.hydrate(TCMessageImpl.java:179)
	at com.tc.net.protocol.tcm.TCMessageHydrateSink.putMessage(TCMessageHydrateSink.java:36)
	at com.tc.net.protocol.tcm.TCMessageRouterImpl.putMessage(TCMessageRouterImpl.java:64)
	at com.tc.net.protocol.tcm.AbstractMessageChannel.receive(AbstractMessageChannel.java:215)
	at com.tc.net.protocol.transport.MessageTransportBase.receiveToReceiveLayer(MessageTransportBase.java:138)
	at com.tc.net.protocol.transport.ServerMessageTransport.receiveTransportMessageImpl(ServerMessageTransport.java:101)
	at com.tc.net.protocol.transport.MessageTransportBase.receiveTransportMessage(MessageTransportBase.java:113)
	at com.tc.net.protocol.transport.ServerStackProvider$MessageSink.putMessage(ServerStackProvider.java:267)
	at com.tc.net.protocol.transport.WireProtocolAdaptorImpl.addReadData(WireProtocolAdaptorImpl.java:75)
	at com.tc.net.core.TCConnectionImpl.addNetworkData(TCConnectionImpl.java:827)
	at com.tc.net.core.TCConnectionImpl.doReadFromBufferInternal(TCConnectionImpl.java:488)
	at com.tc.net.core.TCConnectionImpl.doReadFromBuffer(TCConnectionImpl.java:342)
	at com.tc.net.core.TCConnectionImpl.doReadInternal(TCConnectionImpl.java:325)
	at com.tc.net.core.TCConnectionImpl.doRead(TCConnectionImpl.java:309)
	at com.tc.net.core.CoreNIOServices$CommThread.selectLoop(CoreNIOServices.java:667)
	at com.tc.net.core.CoreNIOServices$CommThread.run(CoreNIOServices.java:371)
2021-02-26 11:21:07.979  INFO   --- [n 0.0.0.0:9410)] c.t.n.p.transport.ServerStackProvider   : "Client Cannot Reconnect. Connection attempts from the Terracotta node at 172.17.0.1:59080 are being rejected by the Terracotta server array. Reason: Stack for ConnectionID(14.fb6fcd7e24ab4abba9d0ced613095dcc.4211040f-b39f-48db-911e-c6ddc26afcc9-177de11f475.Permanent) not found."

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.