python thrift TSocket read 0 bytes
743/5000
Salut à tous.
Nous utilisons d'abord Amazon EC2 pour notre infrastructure hbase.
Nous utilisons une instance small pour exécuter notre script (4 processus dans chaque instance), le script scanne une table et fait du calcul avant de mettre les nouvelles données dans d'autres tables.
Le script prend quelques minutes avant de beuger en disant:
Code:
1 2
|
Exception thrift.transport.TTransport.TTransportException: TTransportException('TSocket read 0 bytes',) in <bound method Scanner.__del__ of <libs.bnet.thrift.hbase.scanner.Scanner instance at 0x7f439dddf7a0>> ignored |
J'avais mis le niveau de log a TRACE dans le serveur thrift et j'ai cherché si une erreur s'est declanchée dans le même instant où l'erreur s'est produite, sans succès.
Je n'ai aucune idée de ce qui cause cette erreur ni comment la résoudre. Si vous pouvez m'aider, merci beaucoup. je vous serais très reconnaissant.
hbase.thrift.server.socket.read.timeout
Salut a tous.
j'ai trouvé la solution :
le probleme : le serveur thrift ferme le socket de la connexion établie par le script python client a environ 60s de timeout, et quant le script voulait faire un put il ne pouvait pas puisque le socket et fermé.
la solution etait de augmenter la valeur de la clé de configuration de thrift : (en ms)
Code:
hbase.thrift.server.socket.read.timeout
c'est tout.
j’espère que cela aidera des gens comme moi :lol:.