½âBug֮·-¼ÇÒ»´Î´æ´¢¹ÊÕϵÄÅŲé¹ý³Ì

½âBug֮·-¼ÇÒ»´Î´æ´¢¹ÊÕϵÄÅŲé¹ý³Ì

¸ß¿ÉÓÃÕæÊÇһ˿ϸ½Ú¶¼²»µÃÂí»¢¡£Æ½Ê±ÅܵĺúõÄϵͳ£¬ÔÚÏàÓ¦Ó²¼þ³öÏÖ¹ÊÕÏʱ¾Í»áÒý·¢³öDZÔÚµÄBug¡£Æ«Æ«ÕâЩ¹ÊÕÏÔÚÓ¦ÓòãµÄ±íÏÖÏ¡Ææ¹Å¹Ö£¬ºÜÄÑÈÃÈËÁªÏëµ½ÊÇÓ²¼þ³öÁËÎÊÌâ£¬ÌØ±ðÊÇż·¢ÐÔ³öÏÖµÄÎÊÌâ¸üÄÑÅŲ顣½ñÌ죬±ÊÕ߾͸ø´ó¼Ò´øÀ´Ò»¸ö´æ´¢Å¼·¢ÐÔ¹ÊÕϵÄÅŲé¹ý³Ì¡£

BugÏÖ³¡

365betÌåÓýÔÚÏßÃǵĻý·ÖÓ¦ÓÃÓÉÓÚÁ¿·Ç³£´ó£¬365betÌåÓýÔÚÏßÐèÒª½øÐзֿâ·Ö±í£¬365betÌåÓýÔÚÏß½ÓÈëÁË365betÌåÓýÔÚÏßÃǵÄÖмä¼þ¡£Ò»Ö±Îȶ¨ÔËÐУ¬µ«Ó¦ÓÃ×î½üÈ·¾­³£Å¼·¢Á¬½Ó½¨Á¢²»Éϵı¨´í¡£±¨´íÈçÏÂ:

GetConnectionTimeOutException

¶ø±ÊÕßÖмä¼þÕâ±ßÊÕµ½µÄÈ·ÊÇ:

NIOReactor - register err java.nio.channels.CloasedChannelException 

ÕâÑùµÄ¸æ¾¯¡£Õû¸öBugÏÖ³¡ÈçÏÂͼËùʾ:

ż·¢ÐÔ´íÎó

֮ǰ³ö¹ýÀàËÆregister errÕâÑùµÄÁãÐDZ¨¾¯£¬×îºóÔ­ÒòÊǰ²È«É¨Ã裬²¢Ã»ÓжÔÒµÎñÔì³ÉÈκÎÓ°Ïì¡£¶øÕâÒ»´Î£¬ÀàËÆµÄ±¨´íÔì³ÉÁËÒµÎñµÄ´óÁ¿Á¬½Ó³¬Ê±¡£ÓÉÓÚ·âÍø£¬ÏßÉÏÖмä¼þºÍÓ¦ÓÃÒѾ­Îȶ¨ÔÚÏßÉÏÅÜÁËÒ»¸ö¶àÔ£¬´úÂë²ãÃæÃ»ÓÐÈκθ͝£¡Í»È»³öÏÖµÄÕâ¸ö´íÎó¸Ð¾õÊÇ»·¾³³öÏÖÁËijЩÎÊÌâ¡£¶øÇÒÓÉÓÚÏßÉϵÄÓ¦ÓúÍÖмä¼þ¶¼ÊǼ¯Èº£¬³öÎÊÌâʱºò¶¼²»ÊǹÂÁ¢µÄ»úÆ÷±¨´í£¬Ã»µÀÀíËùÓлúÆ÷¶¼ÕýºÃÓÐÎÊÌâ¡£ÈçÏÂͼËùʾ:

¿ªÊ¼ÅŲéÊÇ·ñÍøÂçÎÊÌâ

Óöµ½ÕâÖÖÁ¬½Ó³¬Ê±£¬±ÊÕß×î×ÔÈ»µÄÏë·¨µ±È»ÊÇÍøÂç³öÁËÎÊÌâ¡£ÓÚÊÇÕÒÍø¹¤½øÐÐÅŲ飬
ÔÚ¼à¿ØÀïÃæ·¢ÏÖÍøÂçÒ»Ö±ºÜÎȶ¨¡£¶øÇÒÈç¹ûÊÇÍøÂç³öÏÖÎÊÌâ£¬Í¬Ò»Íø¶ÎµÄÓ¦ÓÃÓ¦¸ÃÒ²¶¼»á±¨´í
²Å¶Ô¡£ÊÂʵÉÏÖ»ÓжÔÓ¦µÄÓ¦ÓúÍÖмä¼þ²Å±¨´í£¬ÆäËüµÄÓ¦ÓÃÒÀ¾ÉÎÈÎȵ±µ±¡£

ÓÖ·¢ÉúÁËÁ½´Î

¾ÍÔÚ±ÊÕß¾õµÃÕâ¸öż·¢ÐÔÎÊÌâ¿ÉÄܲ»»áÔÙ³öÏÖµÄʱºò£¬ÓÖ¿ªÊ¼¶¶ÁË¡£¶øÇÒÊÇÒ»¸öÏÂÎçÁ¬¶¶ÁËÁ½´Î¡£Á³±»´òµÄžžµÄ£¬ËãÁËËãÁË£¬ÏÈÖØÆô°É¡£ÖØÆôÖмä¼þºó£¬ÒÔΪÄÜÏûÍ£Ò»»á£¬Ã»Ïëµ½°ë¸öСʱ֮ÄÚÓÖ±¨ÁË¡£¿´À´½ñÌì²»¸ÉµôÕâ¸öBugÊÇϲ»Á˰àÁË!

¿ªÊ¼ÅŲéÈÕÖ¾

ÊÂʵÉÏ£¬±ÊÕßÒ»¿ªÊ¼¾Í·¢ÏÖÖмä¼þÓе÷Óúó¶ËÊý¾Ý¿âÂýSQLµÄÏÖÏó£¬ÓÉÓڱȽÏż·¢£¬365betÌåÓýÔÚÏß½«Õâ¸öÏÖÏ󷢸øDBAÖ®ºó¾ÍûÓмÌÐø¸ú½ø,DBAÒ²·´À¡SQLÖ´ÐÐûÓÐÈκ365betÌåÓýÔÚÏßì³£¡£±ÊÕß¿ªÊ¼ÈÏÕæ·ÖÎöÈÕÖ¾Ö®ºó£¬·¢ÏÖÒ»µ©ÓÐ Öмä¼þµÄregister err ±Ø¶¨»á³öÏÖÖмä¼þµ÷Óúó¶ËÊý¾Ý¿âµÄsql read timeoutµÄ±¨´í¡£
µ«ÕâÁ½¸ö±¨´íÍêÈ«²»ÊÇÔÚÒ»¸öÏß³ÌÀïÃæµÄ£¬Ò»¸öÊÇ´¦Àíǰ¶ËµÄReactorỊ̈߳¬Ò»¸öÊÇ´¦Àíºó¶ËSQLµÄWorkerỊ̈߳¬ÈçÏÂͼËùʾ:

ÕâÁ½¸öÏß³ÌÊÇ»¥Ïà¶ÀÁ¢µÄ£¬´úÂëÖв¢Ã»Óз¢ÏÖÈκλúÖÆÄÜÈÃÕâÁ½¸öÏ̻߳¥ÏàÓ°Ïì¡£ÄѵÀÕæÊÇÕâЩ»úÆ÷±¾ÉíÍøÂç³öÁËÎÊÌ⣿ǰ¶ËAPPʧ°Ü£¬ºó¶Ëµ÷ÓÃDB³¬Ê±£¬Ôõô¿´¶¼ÏñÍøÂçµÄÎÊÌ⣡

½øÒ»²½½øÐÐÅŲé

¼ÈÈ»ÓÐDB(Êý¾Ý¿â)³¬Ê±£¬±ÊÕß¾ÍÏÈ¿´¿´µ÷ÓÃÄĸöDB³¬Ê±°É£¬±Ï¾¹ºóÃæÓÐÒ»¶ÑDB¡£±ÊÕßͻȻ·¢ÏÖ£¬ºÍ֮ǰµÄÂýSQLÒ»Ñù£¬¶¼Êǵ÷Óõڶþ¸öÊý¾Ý¿â³¬Ê±£¬¶øDBAÄDZßȴ˵SQLÖ´ÐÐûÓÐÈκ365betÌåÓýÔÚÏßì³££¬

±ÊÕ߸оõÃ÷ÏÔSQLÖ´ÐÐÓÐÎÊÌ⣬ֻ²»¹ýDBAÊDzÉÑù¶øÇÒ½«²ÉÑùºÄʱƽ¾ùµÄ£¬Å¼¶ûµÄ¼¸±ÊºÄʱ²¢²»»áÔÚÕûÌåSQLµÄºÄʱÀïÃæÓÐËùÌåÏÖ¡£

Ö»ÄÜ¿¿ÈÕÖ¾·ÖÎöÁË

¼ÈÈ»ÕÒ²»µ½Ê²Ã´Í·Ð÷£¬ÄÇôֻÄÜ´ÓÈÕÖ¾ÈëÊÖ£¬ºÃºÃ·ÖÎöÍÆÀíÁË¡£REACTORÏ̺߳ÍWorkerÏß³Ìͬʱ±¨´í£¬µ«Á½Õß²¢ÎÞÌØÊâµÄ¹ØÁª£¬ËµÃ÷¿ÉÄÜÊÇͬһ¸öÔ­ÒòÒýÆðµÄÁ½ÖÖ²»Í¬ÏÖÏó¡£±ÊÕßÔÚÏßÉϱ¨´íÈÕÖ¾ÀïÃæ½øÐÐϸϸËÑË÷£¬·¢ÏÖÔÚ´óÁ¿µÄ

NIOReactor-1-RW register err java.nio.channels.CloasedChannelException

ÈÕÖ¾Öлá²ôÔÓ×ÅÕâ¸ö±¨´í:

NIOReactor-1-RW Socket Read timed out
	at XXXXXX . doCommit
	at XXXXXX Socket read timedout

ÕâÒ»¿´¾Í·¢ÏÖÁ˶ËÄߣ¬Reactor×÷Ϊһ¸öIOỊ̈߳¬Ôõô»áÓÐÊý¾Ý¿âµ÷ÓÃÄØ?ÓÚÊÇ·­ÁË·­Ô´Â룬ԭÀ´£¬365betÌåÓýÔÚÏßÃǵÄÖмä¼þÔÚ´¦Àícommit/rollbackÕâÑùµÄ²Ù×÷ʱºò»¹ÊÇÔÚReactorÏ߳̽øÐеģ¡ºÜÃ÷ÏÔReactorÏ߳̿¨Ö÷ÊÇÓÉÓÚcommitÂýÁË!±ÊÕßÁ¢Âí·´Ó¦¹ýÀ´,¶øÕâ¸öcommitÂýÒ²ÕýÊǵ¼ÖÂÁËregsiter errÒÔ¼°¿Í»§¶ËÎÞ·¨´´½¨Á¬½ÓµÄÔªÐס£ÈçÏÂÃæËùʾ:

ÓÉÓÚapp1µÄcommitÌØ±ðÂý¶ø¿¨×¡ÁËreactor1Ị̈߳¬´Ó¶øÂäÔÚreactor1Ïß³ÌÉϵÄÎÕÊÖ²Ù×÷¶¼»á³¬Ê±£¡ÈçÏÂͼËùʾ:

Ϊʲô֮ǰµÄÄ£Äâå´»ú²âÊÔ·¢ÏÖ²»ÁËÕâÒ»µã

ÒòΪģÄâå´»úµÄʱºò£¬ÔÚÊÂÎñ¿ªÊ¼µÄµÚÒ»ÌõSQL¾Í»á±¨´í£¬¶øÖ´ÐÐSQL¶¼ÊÇÔÚWorkerÏß³ÌÀïÃæ£¬
365betÌåÓýÔÚÏß²¢²»»á´¥·¢reactorÏß³ÌÖÐcommit³¬Ê±ÕâÖÖÏÖÏó£¬365betÌåÓýÔÚÏß²âÊÔµÄʱºò¾ÍÒÅ©ÁËÕâÒ»µã¡£

Ϊʲôcommit»á±äÂý?

ϵͳһֱÅܵĺúõģ¬ÎªÊ²Ã´Í»È»commit¾Í±äÂýÁËÄØ£¬¶øÇÒ±ÊÕß·¢ÏÖ£¬Õâ¸öcommit±äÂýËù¹ØÁªµÄDBÕýºÃÒ²ÊdzöÏÖÂýSQLµÄÄǸöDB¡£ÓÚÊDZÊÕßÁ¢Âí¾ÍÈ¥ÕÒÁËDBA,ÓÉÓÚ365betÌåÓýÔÚÏßÃÇÓ¦ÓòãºÍÊý¾Ý¿â²ã¶¼Ã»ÓÐcommitʱ¼äµÄ¼à¿Ø(ÒòΪһ°ã¶¼ºÜ¿ì£¬ºÜÉÙ³öÏÖÂýµÄÏÖÏó)¡£DBAÔÚÊý¾Ý¿â´òµÄÈÕÖ¾ÀïÃæ½øÐÐÁËͳ¼Æ£¬·¢ÏÖȷʵ±äÂýÁË£¬¶øÇÒ±äÂýµÄʱ¼äºÍ365betÌåÓýÔÚÏßÃÇÓ¦Óñ¨´íµÄʱ¼äÏà·ûºÏ£¡
˳ÌÙÃþ¹Ï£¬365betÌåÓýÔÚÏßÃÇÓÖÁªÏµÁËSA£¬·¢ÏÖÆäÖкʹ洢Ïà¹ØµÄHBA¿¨Óб¨´í£¡ÈçÏÂͼËùʾ:

±¨´íʱ¼ä¶¼ÊÇÒ»Öµģ¡

½ô¼±ÐÞ¸´·½°¸

ÓÉÓÚÊÇHBA¿¨±¨´íÁË£¬ÊôÓÚÓ²¼þ¹ÊÕÏ£¬¶øÓ²¼þ¹ÊÕϲ¢²»ÊǺܿì¾ÍÄܽøÐÐÐÞ¸´µÄ¡£365betÌåÓýÔÚÏßDBA×öÁËÒ»´Î½ô¼±µÄÖ÷´ÓÇл»£¬½ø¶ø±ÜÃâÕâÒ»ÎÊÌâ¡£

Ò»ÉíÀ亹

֮ǰ¾ÍÓÐÂýsqlÂýÂý±ä¶à£¬¶øºóͻȻÊý¾Ý¿â´æ´¢hba¿¨å´»úµ¼ÖÂÒµÎñ²»¿ÉÓõÄÇé¿ö¡£
¶øÕâÒ»´Îµ½×îºóÖ÷´ÓÇл»Ç°ÎªÖ¹£¬±¨´íÔ½À´Ô½Æµ·±£¬¸Ð¾õÔÙ¹ýÒ»¶Îʱ¼ä,HBA¿¨¹ý¶Îʱ¼ä¾ÍÍêÈ«²»¿ÉÓã¬Öص¸Ö®Ç°µÄ¸²ÕÞÁË£¡

Öмä¼þÐÞ¸´

365betÌåÓýÔÚÏßÃÇÔÚÖмä¼þ²ãÃæ½«commitºÍrollback²Ù×÷Ųµ½WorkerÀïÃæ¡£ÕâÑù£¬commitÈç¹û¿¨×¡¾Í²»ÔÙ»áÒýÆð´´½¨Á¬½Óʧ°ÜÕâÖÖÓ¦Óñ¨´íÁË¡£

×ܽá

ÓÉÓÚÈí¼þ²ãÃæÆäʵÊDZȽÏÐÅÈÎÓ²¼þµÄ£¬365betÌåÓýÔÚÏßÔÚÓ²¼þ³öÎÊÌâʱ£¬¾Í»á²úÉúºÜ¶à¹îÒìµÄÏÖÏ󣬶øÇÒºÍÓ²¼þ×îÖÕµÄÔ­ÒòÔÚ±íÃæÉÏÍêÈ«²úÉú²»Á˹ØÁª¡£Ö»ÓÐͨ¹ý³éË¿°þ¼ë£¬ÂýÂýµÄȥ̽ѰÏÖÏóµÄ±¾ÖʲŻá½â¾ö×îÖÕµÄÎÊÌâ¡£Òª×öµ½¸ß¿ÉÓÃÕæµÄÊÇҪСÐÄÆÀ¹À¸÷ÖÖϸ½Ú£¬²ÅÄÜÈÃϵͳ¸ü¼Ó½¡×³£¡

¹«ÖÚºÅ

¹Ø×¢±ÊÕß¹«Öںţ¬»ñÈ¡¸ü¶à¸É»õÎÄÕÂ:

posted @ 2020-10-14 10:44  Î޻ٵĺþ¹â-Al  ÔĶÁ(1576)  ÆÀÂÛ(12±à¼­  ÊÕ²Ø