개발망에서 사용하는 서버(3.0.1)에서 사용자가 전혀 없는 경우, 대충 아래와 같은 메시지들이 뜨면서 stale 패킷이 발생했다.
couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E8680,IX=0) Failing command (pkt=000000001A1A6B00, opaque=306, opcode=0x1) with error 0x17 couchbase error - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E8680,IX=0) Server timed out. Some commands have failed couchbase error - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9580,IX=0) Server timed out. Some commands have failed couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9580,IX=0) Failing command (pkt=000000001A1CB580, opaque=307, opcode=0x1) with error 0x17 couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E8680,IX=0) Found stale packet (OP=0x1, RC=0x0, SEQ=306) couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9580,IX=0) Found stale packet (OP=0x1, RC=0x0, SEQ=307) couchbase warning - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9080,IX=0) Failing command (pkt=000000001A18B580, opaque=358, opcode=0x1) with error 0x17 couchbase error - <xxx.xxx.xxx.xxx:11210> (SRV=00000000020E9080,IX=0) Server timed out. Some commands have failed
찾아보니, 아래와 같은 내용이 있었다.
http://docs.couchbase.com/admin/admin/Concepts/bp-deployment-considerations.html
Idle connection timeouts - Some firewall or proxy software will drop TCP connections if they are idle for a certain amount of time (e.g. 20 minutes). If the software does not allow you to change that timeout, send a command from the client periodically to keep the connection alive.
내부적으로 관리를 위해 오가는 패킷이 없는 모양이다. Blocking 모드로 사용하고 있으니, 딱히 보낼 수 없기도 하겠다. 타이머를 이용해 주기적으로 의미없는 동작을 시키니 에러가 사라졌다. –> 사라진 줄 알았는데, 다시 나타났다. –> 다시 사라짐. 그냥 내부망 문제였던 모양.