• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / crud
88%
master: 88%

Build:
Build:
LAST BUILD BRANCH: fix/read-only-operations-with-dead-masters
DEFAULT BRANCH: master
Repo Added 12 Aug 2021 03:45PM UTC
Files 66
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH fix/read-only-operations-with-dead-masters
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • 0x501D/ci-tt
  • AnaNek/check-for-incorrect-call-mode
  • AnaNek/gh-314-fix-vshard-sharding-func
  • AnaNek/parameterization-for-call-test
  • AnaNek/select-no-indexes-fix
  • DIfferentialOrange/release-1.3.0
  • DifferentialOranage/gh-373-datetime-conditions
  • DifferentialOrange/HTTP-API-improvements
  • DifferentialOrange/ci-health
  • DifferentialOrange/ci-health-tt
  • DifferentialOrange/clarify-license
  • DifferentialOrange/crud-metrics-params
  • DifferentialOrange/fix-0.10.0-changelog
  • DifferentialOrange/fix-dev-checks
  • DifferentialOrange/fix-flaky-schema
  • DifferentialOrange/fix-flaky-vshard-test
  • DifferentialOrange/fix-readme-update-links
  • DifferentialOrange/fix-tests-2.10.1
  • DifferentialOrange/gh-211-cluacov-fix
  • DifferentialOrange/gh-212-reload-sharding-keys
  • DifferentialOrange/gh-212-reload-sharding-keys-final
  • DifferentialOrange/gh-213-optimize-map-reduce
  • DifferentialOrange/gh-224-operation-stats
  • DifferentialOrange/gh-225-vshard-performance
  • DifferentialOrange/gh-234-optimize-know-bucket_id
  • DifferentialOrange/gh-236-tmp-test-master
  • DifferentialOrange/gh-236-tmp-test-new
  • DifferentialOrange/gh-241-field-number-doc
  • DifferentialOrange/gh-249-fix-luacov
  • DifferentialOrange/gh-253-design-doc-reload
  • DifferentialOrange/gh-255-forbid-len-by-id
  • DifferentialOrange/gh-271-select-nil-err-merger
  • DifferentialOrange/gh-278-sharding-mismatch
  • DifferentialOrange/gh-284-tolerated-error-lost
  • DifferentialOrange/gh-286-age-nan
  • DifferentialOrange/gh-308-fail-after-drop
  • DifferentialOrange/gh-310-ddl-record-delete
  • DifferentialOrange/gh-312-yield
  • DifferentialOrange/gh-326-improve-warning-message
  • DifferentialOrange/gh-328-flatten-for-sequence
  • DifferentialOrange/gh-332-role-cfg
  • DifferentialOrange/gh-365-drop-old-select
  • DifferentialOrange/gh-377-no-rows-error
  • DifferentialOrange/gh-403-names-as-keys
  • DifferentialOrange/gh-404-follow-up
  • DifferentialOrange/gh-407-no-uuid
  • DifferentialOrange/gh-409-master-discovery
  • DifferentialOrange/gh-412-3.0-grants
  • DifferentialOrange/gh-412-test-stabilization
  • DifferentialOrange/gh-415-role-for-tarantool3
  • DifferentialOrange/gh-418-conditions-order
  • DifferentialOrange/gh-422-nil-conditions
  • DifferentialOrange/gh-437-fix-sharding-many
  • DifferentialOrange/gh-44-vshard-groups
  • DifferentialOrange/iproto-tuple-formats-fixes
  • DifferentialOrange/no-gh-fix-coveralls
  • DifferentialOrange/no-gh-new-vshard-for-reusable
  • DifferentialOrange/no-gh-remove-metrics-for-master
  • DifferentialOrange/no-gh-retry-tests
  • DifferentialOrange/no-gh-schema
  • DifferentialOrange/no-gh-update-readme
  • DifferentialOrange/readme-sharding-duplicate-rows
  • DifferentialOrange/readme-version
  • DifferentialOrange/release-0.11.0
  • DifferentialOrange/release-0.11.1
  • DifferentialOrange/release-0.11.2
  • DifferentialOrange/release-0.11.3
  • DifferentialOrange/release-0.12.1
  • DifferentialOrange/release-0.13.0
  • DifferentialOrange/release-0.14.0
  • DifferentialOrange/release-1.0.0
  • DifferentialOrange/release-1.1.0
  • DifferentialOrange/release-1.1.1
  • DifferentialOrange/release-1.2.0
  • DifferentialOrange/release-1.4.0
  • DifferentialOrange/release-1.4.1
  • DifferentialOrange/release-1.4.2
  • DifferentialOrange/release-1.4.3
  • DifferentialOrange/release-1.5.0
  • DifferentialOrange/release-1.5.1
  • DifferentialOrange/release-1.5.2
  • DifferentialOrange/run-ci
  • DifferentialOrange/support-older-cartridges
  • DifferentialOrange/tarantool-version-parsing-3.x
  • TNTP-2109-bucket-ref
  • TNTP-2109-bucket-ref-unref
  • TNTP-2109-double-buckets-test
  • TNTP-2109-get-rid-of-atomic
  • TNTP-2109-rebalance-safe-mode
  • TNTP-2109-rebalance-safe-review-fix
  • TNTP-2109-safe-mode-metrics
  • TNTP-2109-safe-mode-switch
  • TNTP-2109-safe-mode-test-matrix
  • Totktonada/add-a-license
  • Totktonada/add-playground
  • Totktonada/ci-add-tarantool-2.10
  • Totktonada/doc-enhancements
  • Totktonada/fix-tarantool-2-10-determination
  • Totktonada/gh-203-add-tarantoolctl-install-into-readme
  • Totktonada/gh-220-bucket-id-is-ignored
  • Totktonada/polish-version-checks
  • Totktonada/readme-fix-update-cache-recipe
  • Totktonada/release-0.10.0
  • Totktonada/release-0.12.0
  • Totktonada/release-0.9.0
  • Totktonada/skip-merger-creation-for-one-replicaset
  • Totktonada/test-fix-timeout-error-message
  • Totktonada/update-cartridge-dependency
  • Totktonada/use-setup-tarantool-for-1.10.6
  • Totktonada/workaround-luacov-coveralls-installation-fail
  • batch-insert-upsert
  • better0fdead/gc-fix-readview
  • better0fdead/readview
  • bump_cmake
  • ci/update-github-actions-ubuntu-2404
  • ci/update-sdk-versions
  • count-implementation
  • doc-add-full-space-format
  • drop-heap
  • ee-sync/2025-09-08
  • ee-sync/vshard-request-timeout
  • fix-cluacov-rockspec-uri
  • fix-opts-damage
  • fix-timeout-select-pairs
  • fix-typo-readme
  • fix/read-only-operations-with-dead-masters
  • fix/schema-reload-deadlock-after-error
  • fix/select-pagination-native-after
  • fix/storage-bucket-id-nil-check
  • fix/upgrade-compat-call-on-storage
  • fix_fiber_name
  • igrishnov/gh-204-add-hardcoded-versioning-support
  • igrishnov/gh-236-update-stale-schema-metadata-gen
  • igrishnov/gh-236-update-stale-schema-metadata-gen-new-approach
  • igrishnov/gh-250-change-dev-env-var-naming
  • igrishnov/gh-267-noreturn-opt-for-DML-operations
  • igrishnov/gh-331-master-conn-check-for-get-space-utils
  • igrishnov/gh-95-master-timeout-fetch-for-get-space-utils
  • igrishnov/gh-x-test-master-ci
  • ligurio/bump-luatest
  • ligurio/fix-coveralls-paths
  • ligurio/gh-166-sharding-keys
  • ligurio/gh-219-jsonpath-sharding-key
  • ligurio/ldoc-support
  • ligurio/not_covered
  • ligurio/remove-extra-whitespaces
  • ligurio/revert-remove-tuple-keydef
  • ligurio/typo
  • ligurio/update-test-matrix
  • ligurio/update_test_matrix
  • ligurio/use_luatest_native_asserts
  • master
  • merge-ee-into-ce
  • oleg-jukovec/fix-after-behavior
  • oleg-jukovec/gh-276-log-select-nil
  • oleg-jukovec/gh-364-vshard-tests
  • oleg-jukovec/gh-366-vshard-user-experience
  • oleg-jukovec/no-gh-readme_many_fix
  • perf-test
  • psergee/fix-crud-delete-error-message
  • psergee/gh-229-crud-storage-init-status
  • psergee/gh-consistent-select-error-description
  • refs/heads/igrishnov/gh-236-update-stale-schema-metadata-gen
  • refs/pull/330/merge
  • refs/pull/335/merge
  • refs/pull/374/merge
  • refs/pull/387/merge
  • refs/pull/390/merge
  • refs/pull/393/merge
  • refs/pull/400/merge
  • refs/pull/410/merge
  • refs/pull/444/merge
  • refs/pull/472/merge
  • refs/pull/481/merge
  • refs/pull/482/merge
  • refs/pull/483/merge
  • refs/pull/484/merge
  • refs/pull/485/merge
  • refs/pull/486/merge
  • refs/pull/487/merge
  • refs/pull/494/merge
  • refs/pull/496/merge
  • refs/tags/0.10.0
  • refs/tags/0.11.0
  • refs/tags/0.11.1
  • refs/tags/0.11.2
  • refs/tags/0.11.3
  • refs/tags/0.12.0
  • refs/tags/0.12.1
  • refs/tags/0.13.0
  • refs/tags/0.14.0
  • refs/tags/0.14.1
  • refs/tags/0.9.0
  • refs/tags/1.0.0
  • refs/tags/1.1.0
  • refs/tags/1.1.1
  • refs/tags/1.2.0
  • refs/tags/1.3.0
  • refs/tags/1.4.0
  • refs/tags/1.4.1
  • refs/tags/1.4.2
  • refs/tags/1.4.3
  • refs/tags/1.5.0
  • refs/tags/1.5.1
  • refs/tags/1.5.2
  • refs/tags/1.6.0
  • refs/tags/1.6.1
  • refs/tags/1.7.0
  • refs/tags/1.7.1
  • refs/tags/1.7.2
  • refs/tags/1.7.3
  • refs/tags/1.7.4
  • release-1.6.1
  • release-1.7.0
  • release-1.7.4
  • release/1.7.1
  • release/1.7.3
  • rm_fiber_kill
  • sharding-pk-bucket-id-null
  • speed-up-rebalancing-tests
  • storage_perf
  • support-custom-sharding-func
  • test-tarantool3-helpers
  • update-errors
  • vakhov/TNTP-4009-bucket-id-validation
  • vakhov/release-1.6.0
  • vakhov/rm-skip-vshard-config
  • ylobankov/bump-actions-version

14 Jun 2026 07:56PM UTC coverage: 88.27% (-0.08%) from 88.349%
27510432024

Pull #497

github

p0rtale
fix: allow read-only operations when all masters are down

Read-only operations (get, select, pairs, count, len, min, max) used to
fail with connection errors if all masters in the cluster were unavailable,
even when healthy replicas were up and failover hadn't processed yet.

To resolve this, the following improvements were made:
- Introduced a `read_only` flag to `utils.get_space[s]` to fetch cluster
  schema from any healthy replica if masters are down.
- Updated `get`, `select`, `pairs`, `count`, `len`, `min`, `max` to use
  this new flag.
- Rewrote `call.any` to iterate through all replicasets and utilize
  vshard's `callro` instead of `call` to fetch metadata from replicas.
- Added support for `mode`, `balance`, `prefer_replica`, and `request_timeout`
  options in `crud.len`. The default mode remains `write` to preserve
  backward compatibility.
Pull Request #497: fix: allow read-only operations when all masters are down

57 of 59 new or added lines in 16 files covered. (96.61%)

7 existing lines in 2 files now uncovered.

5275 of 5976 relevant lines covered (88.27%)

12521.31 hits per line

Relevant lines Covered
Build:
Build:
5976 RELEVANT LINES 5275 COVERED LINES
12521.31 HITS PER LINE
Source Files on master
  • Tree
  • List 66
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
27510432024 fix/read-only-operations-with-dead-masters fix: allow read-only operations when all masters are down Read-only operations (get, select, pairs, count, len, min, max) used to fail with connection errors if all masters in the cluster were unavailable, even when healthy replicas were up and f... Pull #497 14 Jun 2026 08:28PM UTC p0rtale github
88.27
27198360611 fix/read-only-operations-with-dead-masters fix: allow read-only operations when all masters are down Read-only operations (get, select, pairs, count, len, min, max) used to fail with connection errors if all masters in the cluster were unavailable, even when healthy replicas were up and f... Pull #497 09 Jun 2026 10:22AM UTC p0rtale github
88.32
26783600080 fix/read-only-operations-with-dead-masters fix: allow read-only operations when all masters are down Read-only operations (get, select, count, min, max) used to fail with connection errors if all masters in the cluster were unavailable, even when healthy replicas were up and failover hadn... Pull #497 01 Jun 2026 10:05PM UTC p0rtale github
88.36
26754156536 fix/upgrade-compat-call-on-storage crud: support router-first upgrades from pre-1.6 storages Add router-side compatibility for mixed CRUD versions where routers use _crud.call_on_storage but storages do not have it yet. Routers now detect unsupported _crud.call_on_storage errors, ... Pull #499 01 Jun 2026 12:38PM UTC vakhov github
88.43
26750482017 fix/upgrade-compat-call-on-storage crud: support router-first upgrades from pre-1.6 storages Add router-side compatibility for mixed CRUD versions where routers use _crud.call_on_storage but storages do not have it yet. Routers now detect unsupported _crud.call_on_storage errors, ... Pull #499 01 Jun 2026 11:20AM UTC vakhov github
88.39
26749305775 master ci: add vshard master to test matrix and bump to 0.1.41 - Add vshard master branch to the test matrix to catch breaking changes early. - Update vshard to 0.1.41. push 01 Jun 2026 10:54AM UTC p0rtale github
88.35
26743697812 speed-up-rebalancing-tests ci: add vshard master to test matrix and bump to 0.1.41 - Add vshard master branch to the test matrix to catch breaking changes early. - Update vshard to 0.1.41. Pull #498 01 Jun 2026 08:53AM UTC p0rtale github
88.31
26742640665 fix/upgrade-compat-call-on-storage crud: support router-first upgrades from pre-1.6 storages Add router-side compatibility for mixed CRUD versions where routers use _crud.call_on_storage but storages do not have it yet. Routers now detect unsupported _crud.call_on_storage errors, ... Pull #499 01 Jun 2026 08:28AM UTC vakhov github
88.39
26719864954 speed-up-rebalancing-tests ci: add vshard master to test matrix This commit enables testing with the vshard master branch in order to catch breaking changes early. Pull #498 31 May 2026 06:11PM UTC p0rtale github
88.31
26413701858 fix/read-only-operations-with-dead-masters fix: allow read-only operations when all masters are down Read-only operations (get, select, count, min, max) used to fail with connection errors if all masters in the cluster were unavailable, even when healthy replicas were up and failover hadn... Pull #497 25 May 2026 06:34PM UTC p0rtale github
88.32
See All Builds (1405)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc