mirror of https://github.com/apache/cassandra
Fix cqlsh COPY abort on window resize
Patch by Johannes Weißl; reviewed by brandonwilliams and bereng for CASSANDRA-15230
This commit is contained in:
parent
071ecb5246
commit
75e0e8cf41
|
|
@ -1,4 +1,5 @@
|
|||
3.0.26:
|
||||
* Fix abort when window resizing during cqlsh COPY (CASSANDRA-15230)
|
||||
* Fix slow keycache load which blocks startup for tables with many sstables (CASSANDRA-14898)
|
||||
* Fix rare NPE caused by batchlog replay / node decomission races (CASSANDRA-17049)
|
||||
* Allow users to view permissions of the roles they created (CASSANDRA-16902)
|
||||
|
|
|
|||
|
|
@ -31,6 +31,8 @@ import sys
|
|||
import threading
|
||||
import time
|
||||
import traceback
|
||||
import select
|
||||
import errno
|
||||
|
||||
from bisect import bisect_right
|
||||
from calendar import timegm
|
||||
|
|
@ -39,7 +41,6 @@ from decimal import Decimal
|
|||
from Queue import Queue
|
||||
from random import randint
|
||||
from StringIO import StringIO
|
||||
from select import select
|
||||
from uuid import UUID
|
||||
from util import profile_on, profile_off
|
||||
|
||||
|
|
@ -191,7 +192,15 @@ class ReceivingChannels(object):
|
|||
Implementation of the recv method for Linux, where select is available. Receive an object from
|
||||
all pipes that are ready for reading without blocking.
|
||||
"""
|
||||
readable, _, _ = select(self._readers, [], [], timeout)
|
||||
while True:
|
||||
try:
|
||||
readable, _, _ = select.select(self._readers, [], [], timeout)
|
||||
except select.error, exc:
|
||||
# Do not abort on window resize:
|
||||
if exc[0] != errno.EINTR:
|
||||
raise
|
||||
else:
|
||||
break
|
||||
for r in readable:
|
||||
with self._rlocks_by_readers[r]:
|
||||
try:
|
||||
|
|
|
|||
Loading…
Reference in New Issue