Skip to content

Releases: griels/couchbase-python-client-ng

untagged-7929aa5cd2a621fb3a52: PYCBC-446: Gracefully fail on signal receipt

23 Aug 10:19
Compare
Choose a tag to compare
Motivation
----------
If the Python process is interrupted by a signal,
lcb_wait3 may return before all remaining jobs
have completed/timed out. This can lead to an exception
being thrown after the wait, as normally
this would only return after this point.

We should gracefully handle this scenario.

Changes
-------

Add a field 'check_type' to the Bucket class.

Instead of using pycbc_assert to raise an abort() if there are
remaining operations to complete after lcb_wait has
returned, according to the check_type value, do the following:

PYCBC_CHECK_NONE: don't raise an exception.
PYCBC_CHECK_STRICT: (the default): raise an SDKInternalError
PYCBC_CHECK_FAIL: (for testing): always fail and raise an exception

Results
-------
It is difficult to automatically reproduce this, but as
we are now raising a Python exception rather than an abort(),
as verified by the tests, the end user should be able
to handle this by catching the exception if necessary. Or
they can turn off checking by setting the flag to
PYCBC_CHECK_NONE.

Change-Id: I5497267ba58496c57fe03b040fbc4eeb67fb16bd
Reviewed-on: http://review.couchbase.org/112725
Tested-by: Ellis Breen <[email protected]>
Reviewed-by: Brett Lawson <[email protected]>
Reviewed-by: Sergey Avseyev <[email protected]>
Tested-by: Build Bot <[email protected]>

untagged-5100d9ae40410117e3c9: PYCBC-446: Gracefully fail on signal receipt

23 Aug 10:25
Compare
Choose a tag to compare
Motivation
----------
If the Python process is interrupted by a signal,
lcb_wait3 may return before all remaining jobs
have completed/timed out. This can lead to an exception
being thrown after the wait, as normally
this would only return after this point.

We should gracefully handle this scenario.

Changes
-------

Add a field 'check_type' to the Bucket class.

Instead of using pycbc_assert to raise an abort() if there are
remaining operations to complete after lcb_wait has
returned, according to the check_type value, do the following:

PYCBC_CHECK_NONE: don't raise an exception.
PYCBC_CHECK_STRICT: (the default): raise an SDKInternalError
PYCBC_CHECK_FAIL: (for testing): always fail and raise an exception

Results
-------
It is difficult to automatically reproduce this, but as
we are now raising a Python exception rather than an abort(),
as verified by the tests, the end user should be able
to handle this by catching the exception if necessary. Or
they can turn off checking by setting the flag to
PYCBC_CHECK_NONE.

Change-Id: I5497267ba58496c57fe03b040fbc4eeb67fb16bd
Reviewed-on: http://review.couchbase.org/112725
Tested-by: Ellis Breen <[email protected]>
Reviewed-by: Brett Lawson <[email protected]>
Reviewed-by: Sergey Avseyev <[email protected]>
Tested-by: Build Bot <[email protected]>

untagged-418b3ec17eb74b10086b: PYCBC-446: Gracefully fail on signal receipt

23 Aug 10:58
Compare
Choose a tag to compare
Motivation
----------
If the Python process is interrupted by a signal,
lcb_wait3 may return before all remaining jobs
have completed/timed out. This can lead to an exception
being thrown after the wait, as normally
this would only return after this point.

We should gracefully handle this scenario.

Changes
-------

Add a field 'check_type' to the Bucket class.

Instead of using pycbc_assert to raise an abort() if there are
remaining operations to complete after lcb_wait has
returned, according to the check_type value, do the following:

PYCBC_CHECK_NONE: don't raise an exception.
PYCBC_CHECK_STRICT: (the default): raise an SDKInternalError
PYCBC_CHECK_FAIL: (for testing): always fail and raise an exception

Results
-------
It is difficult to automatically reproduce this, but as
we are now raising a Python exception rather than an abort(),
as verified by the tests, the end user should be able
to handle this by catching the exception if necessary. Or
they can turn off checking by setting the flag to
PYCBC_CHECK_NONE.

Change-Id: I5497267ba58496c57fe03b040fbc4eeb67fb16bd
Reviewed-on: http://review.couchbase.org/112725
Tested-by: Ellis Breen <[email protected]>
Reviewed-by: Brett Lawson <[email protected]>
Reviewed-by: Sergey Avseyev <[email protected]>
Tested-by: Build Bot <[email protected]>

untagged-23cb3295bc90cc048fe1: PYCBC-446: Gracefully fail on signal receipt

23 Aug 10:48
Compare
Choose a tag to compare
Motivation
----------
If the Python process is interrupted by a signal,
lcb_wait3 may return before all remaining jobs
have completed/timed out. This can lead to an exception
being thrown after the wait, as normally
this would only return after this point.

We should gracefully handle this scenario.

Changes
-------

Add a field 'check_type' to the Bucket class.

Instead of using pycbc_assert to raise an abort() if there are
remaining operations to complete after lcb_wait has
returned, according to the check_type value, do the following:

PYCBC_CHECK_NONE: don't raise an exception.
PYCBC_CHECK_STRICT: (the default): raise an SDKInternalError
PYCBC_CHECK_FAIL: (for testing): always fail and raise an exception

Results
-------
It is difficult to automatically reproduce this, but as
we are now raising a Python exception rather than an abort(),
as verified by the tests, the end user should be able
to handle this by catching the exception if necessary. Or
they can turn off checking by setting the flag to
PYCBC_CHECK_NONE.

Change-Id: I5497267ba58496c57fe03b040fbc4eeb67fb16bd
Reviewed-on: http://review.couchbase.org/112725
Tested-by: Ellis Breen <[email protected]>
Reviewed-by: Brett Lawson <[email protected]>
Reviewed-by: Sergey Avseyev <[email protected]>
Tested-by: Build Bot <[email protected]>

untagged-1273f68363b6698833bf: PYCBC-446: Gracefully fail on signal receipt

23 Aug 10:19
Compare
Choose a tag to compare
Motivation
----------
If the Python process is interrupted by a signal,
lcb_wait3 may return before all remaining jobs
have completed/timed out. This can lead to an exception
being thrown after the wait, as normally
this would only return after this point.

We should gracefully handle this scenario.

Changes
-------

Add a field 'check_type' to the Bucket class.

Instead of using pycbc_assert to raise an abort() if there are
remaining operations to complete after lcb_wait has
returned, according to the check_type value, do the following:

PYCBC_CHECK_NONE: don't raise an exception.
PYCBC_CHECK_STRICT: (the default): raise an SDKInternalError
PYCBC_CHECK_FAIL: (for testing): always fail and raise an exception

Results
-------
It is difficult to automatically reproduce this, but as
we are now raising a Python exception rather than an abort(),
as verified by the tests, the end user should be able
to handle this by catching the exception if necessary. Or
they can turn off checking by setting the flag to
PYCBC_CHECK_NONE.

Change-Id: I5497267ba58496c57fe03b040fbc4eeb67fb16bd
Reviewed-on: http://review.couchbase.org/112725
Tested-by: Ellis Breen <[email protected]>
Reviewed-by: Brett Lawson <[email protected]>
Reviewed-by: Sergey Avseyev <[email protected]>
Tested-by: Build Bot <[email protected]>

untagged-29c9744bf2a37c7d3929: PYCBC-446: Gracefully fail on signal receipt

22 Aug 18:12
Compare
Choose a tag to compare
Motivation
----------
If the Python process is interrupted by a signal,
lcb_wait3 may return before all remaining jobs
have completed/timed out. This can lead to an exception
being thrown after the wait, as normally
this would only return after this point.

We should gracefully handle this scenario.

Changes
-------

Add a field 'check_type' to the Bucket class.

Instead of using pycbc_assert to raise an abort() if there are
remaining operations to complete after lcb_wait has
returned, according to the check_type value, do the following:

PYCBC_CHECK_NONE: don't raise an exception.
PYCBC_CHECK_STRICT: (the default): raise an SDKInternalError
PYCBC_CHECK_FAIL: (for testing): always fail and raise an exception

Results
-------
It is difficult to automatically reproduce this, but as
we are now raising a Python exception rather than an abort(),
as verified by the tests, the end user should be able
to handle this by catching the exception if necessary. Or
they can turn off checking by setting the flag to
PYCBC_CHECK_NONE.

Change-Id: I5497267ba58496c57fe03b040fbc4eeb67fb16bd
Reviewed-on: http://review.couchbase.org/112725
Tested-by: Ellis Breen <[email protected]>
Reviewed-by: Brett Lawson <[email protected]>
Reviewed-by: Sergey Avseyev <[email protected]>
Tested-by: Build Bot <[email protected]>

untagged-cb0d980ab2b6416945e2: Try Manylinux 2010 again

21 Aug 13:24
Compare
Choose a tag to compare
Change-Id: I598344945a480c89719e3e2cfac7474f522bef6d

untagged-a92f374080a9833823c7: Turned CBCollection into a CoreBucket subclass. Worked!

21 Aug 13:05
Compare
Choose a tag to compare

untagged-a3396239b51e3340196f: Add deploy step

21 Aug 14:10
Compare
Choose a tag to compare
Change-Id: I9af7efb9a86ad328d6f16ba0420147a1c78267b0

untagged-908dac6232d1ed734faa: Turned CBCollection into a CoreBucket subclass. Worked!

21 Aug 13:05
Compare
Choose a tag to compare