Luke Weber
unread,Sep 15, 2011, 12:49:18 PM9/15/11Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to Scribe Server
I was having an issue with scribe crashing and was curious if anyone
had more specifics without me trying to dive into the code.
In a nutshell, I'm using scribe.php client with thrift classes
(0.7.0), but also tried it with 0.6.1 and the
TBinaryProtocolAccelerator. Because scribe has a method
Log($messagesArray), I thought it might make sense to batch messages,
but it was crashing consistently the scribe server. Basically if I
push too many messages in a single array to the scribe.php client in
one go, it crashes my scribed.
I was curious if there is a specific size I should limit a single log
in this client to?
Also might be nice to have an exception thrown in the case that we
overflow as oppose to taking down scribe/thrift.
Might be more nuanced streaming buffer size or something, but was
curious if anyone had a patch, or ideas?
Thanks,
Luke
Scribe version + libs:
scribe from github with libevent 1.4, thrift 0.7.0, libboost 1.42
Error below..
Fatal error: Uncaught exception 'TTransportException' with message
'TSocket: timed out reading 4 bytes from localhost:1463' in /root/
scribelibs/transport/TSocket.php:268
Stack trace:
#0 /root/scribelibs/transport/TTransport.php(87): TSocket->read(4)
#1 /root/scribelibs/transport/TFramedTransport.php(135): TTransport-
>readAll(4)
#2 /root/scribelibs/transport/TFramedTransport.php(102):
TFramedTransport->readFrame()
#3 [internal function]: TFramedTransport->read(8192)
#4 /root/scribelibs/scribe.php(48):
thrift_protocol_read_binary(Object(TBinaryProtocolAccelerated),
'scribe_Log_resu...', false)
#5 /root/scribelibs/scribe.php(24): scribeClient->recv_Log()
#6 /root/clusterTest/ScribeLogger.php(41): scribeClient->Log(Array)
#7 /root/clusterTest/ScribeLogger.php(26):
ScribeLogger::flushToScribe()
.....