|
|
|
Cassandra, Hector и обрыв соединения
|
|||
|---|---|---|---|
|
#18+
Необходимо поднимать соединение с БД при перезапуске кассандры. Нашел такие вещи, как CassandraHostConfigurator#setRetryDownedHosts() и прочее. Пробую: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. Далее запускаю, записываю прогоняю пару итераций, роняю кассандру, пробую записать еще, получаю эксепшн, поднимаю кассандру, жду несколько секунд, пробую еще несколько раз, получаю все равно эксепшн. В логах это выглядит так: [13:08:55] INFO [CassandraHostRetryService ] Downed Host Retry service started with queue size 128 and retry delay 5s [13:08:55] INFO [JmxMonitor ] Registering JMX me.prettyprint.cassandra.service_ASG:ServiceType=hector,MonitorType=hector [13:09:05] ERROR [HThriftClient ] Could not flush transport (to be expected if the pool is shutting down) in close for client: CassandraClient<localhost:9160-3> org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:147) at org.apache.thrift.transport.TFramedTransport.flush(TFramedTransport.java:156) at me.prettyprint.cassandra.connection.client.HThriftClient.close(HThriftClient.java:98) at me.prettyprint.cassandra.connection.client.HThriftClient.close(HThriftClient.java:26) at me.prettyprint.cassandra.connection.HConnectionManager.closeClient(HConnectionManager.java:308) at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:257) at me.prettyprint.cassandra.model.ExecutingKeyspace.doExecuteOperation(ExecutingKeyspace.java:97) at me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:243) at me.prettyprint.cassandra.model.MutatorImpl.insert(MutatorImpl.java:69) at com.app.App.main(App.java:40) Caused by: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:145) ... 9 more [13:09:05] ERROR [HConnectionManager ] MARK HOST AS DOWN TRIGGERED for host localhost(127.0.0.1):9160 [13:09:05] ERROR [HConnectionManager ] Pool state on shutdown: <ConcurrentCassandraClientPoolByHost>:{localhost(127.0.0.1):9160}; IsActive?: true; Active: 1; Blocked: 0; Idle: 15; NumBeforeExhausted: 49 [13:09:05] INFO [ConcurrentHClientPool ] Shutdown triggered on <ConcurrentCassandraClientPoolByHost>:{localhost(127.0.0.1):9160} [13:09:05] INFO [ConcurrentHClientPool ] Shutdown complete on <ConcurrentCassandraClientPoolByHost>:{localhost(127.0.0.1):9160} [13:09:05] INFO [CassandraHostRetryService ] Host detected as down was added to retry queue: localhost(127.0.0.1):9160 [13:09:05] WARN [HConnectionManager ] Could not fullfill request on this host CassandraClient<localhost:9160-3> [13:09:05] WARN [HConnectionManager ] Exception: me.prettyprint.hector.api.exceptions.HectorTransportException: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe at me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:82) at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:236) at me.prettyprint.cassandra.model.ExecutingKeyspace.doExecuteOperation(ExecutingKeyspace.java:97) at me.prettyprint.cassandra.model.MutatorImpl.execute(MutatorImpl.java:243) at me.prettyprint.cassandra.model.MutatorImpl.insert(MutatorImpl.java:69) at com.app.App.main(App.java:40) Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketException: Broken pipe at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:147) at org.apache.thrift.transport.TFramedTransport.flush(TFramedTransport.java:157) at org.apache.cassandra.thrift.Cassandra$Client.send_set_keyspace(Cassandra.java:466) at org.apache.cassandra.thrift.Cassandra$Client.set_keyspace(Cassandra.java:455) at me.prettyprint.cassandra.connection.client.HThriftClient.getCassandra(HThriftClient.java:78) ... 5 more Caused by: java.net.SocketException: Broken pipe at java.net.SocketOutputStream.socketWrite0(Native Method) at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109) at java.net.SocketOutputStream.write(SocketOutputStream.java:153) at org.apache.thrift.transport.TIOStreamTransport.write(TIOStreamTransport.java:145) ... 9 more [13:09:05] INFO [HConnectionManager ] Client CassandraClient<localhost:9160-3> released to inactive or dead pool. Closing. [13:09:05] WARN [CassandraHostRetryService ] Downed localhost(127.0.0.1):9160 host still appears to be down: Unable to open transport to localhost(127.0.0.1):9160 , java.net.ConnectException: Connection refused [13:09:05] INFO [HConnectionManager ] Client CassandraClient<localhost:9160-3> released to inactive or dead pool. Closing. ЧЯДНТ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.05.2012, 13:10:09 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=59&tid=2131831]: |
0ms |
get settings: |
9ms |
get forum list: |
16ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
45ms |
get topic data: |
16ms |
get forum data: |
4ms |
get page messages: |
41ms |
get tp. blocked users: |
2ms |
| others: | 336ms |
| total: | 477ms |

| 0 / 0 |
