Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.
SOLVED

AEM 6.0 with tarmk cold standby

Avatar

Level 3

Hi,

I have installed AEM 6.0 with author mode in tomcat server. AEM will be accessed as http:<hostname:port>/<tomcatcontextpath>. I followed the steps in the link http://docs.adobe.com/docs/en/aem/6-0/deploy/recommended-deploys/tarmk-cold-standby.html for tarmk cold standby setup

In single machine two tomcats are running with different ports (one is primary other is standby).  As mentioned in the documentation i have given below configurations for standby author. As both machines are running on same machine, i left 127.0.0.1 as is. I am not sure how to pass the tomcat context path of primary author. With below configuration i am getting "java.net.ConnectException: Connection refused: /127.0.0.1:8023" in standby instance error log. 

Sample of org.apache.jackrabbit.oak.plugins.segment.standby.store.StandbyStoreService.config

     
1
2
3
4
5
6
org.apache.sling.installer.configuration.persist=B"false"
mode="standby"
primary.host="127.0.0.1"
port=I"8023"
secure=B"false"
interval=I"5"

 

Appreciated for quick response.

1 Accepted Solution

Avatar

Correct answer by
Level 10

Error indicates port is open & not able to decode the stream correctly.  Go ahead to get official help on this since need screen sharing to identify.

View solution in original post

5 Replies

Avatar

Level 10

Looking at source code Cold stand by implementation just listen to configured TCP port  and not make use of context root. However things gone wrong in below cases like

  • Tomcat default AJP Connector port is 8023.
  • Security rules of tomcat or OS

On a side note to take advantage of memory-mapped files consumption better to run two aem instance in different box.

If you could not solve file a daycare ticket & will assist you further.

Avatar

Level 3

On top of above i have updated port from 8023 to tomcat port where application is running

30.04.2015 14:31:48.325 *ERROR* [defaultEventExecutorGroup-50-1] org.apache.jackrabbit.oak.plugins.segment.standby.client.StandbyClientHandler Exception caught, closing channel.
io.netty.handler.codec.compression.DecompressionException: Found reserved unskippable chunk type: 0x48
        at io.netty.handler.codec.compression.SnappyFramedDecoder.decode(SnappyFramedDecoder.java:135)
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:249)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
        at io.netty.handler.timeout.ReadTimeoutHandler.channelRead(ReadTimeoutHandler.java:150)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
        at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:971)
        at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:854)
        at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:249)
        at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:149)
        at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:333)
        at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:319)
        at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:787)
        at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:130)
        at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468)
        at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382)
        at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354)
        at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:116)
        at io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137)
        at java.lang.Thread.run(Thread.java:745)

Avatar

Correct answer by
Level 10

Error indicates port is open & not able to decode the stream correctly.  Go ahead to get official help on this since need screen sharing to identify.

Avatar

Level 3

Hi Sham,

 

For testing i have configured in the same instance. I am sure tomcat default ajp connecter port is not 8023

Avatar

Level 3

Hi Sham,

In my case AEM will be accessed as https://<host:4502>/contextpath.. When i specify 8023 port, i am getting connection refused error. When i specify the AEM running port (4502), getting stream decode exceptions. Do i need to configure 8023 or AEM running port? Does AEM by default opens port 8023?