8000 Bug fix 3.5/min replication factor by mchacki · Pull Request #9524 · arangodb/arangodb · GitHub
[go: up one dir, main page]

Skip to content

Bug fix 3.5/min replication factor #9524

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 23 commits into from
Jul 22, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
88898e5
Cherry-pick minReplicationFactor
mchacki Jul 19, 2019
e1b4318
Bug fix/failover with min replication factor (#9486)
mchacki Jul 19, 2019
676dacb
Removed merge conflict leftovers 0o, i should not trust the IDE
mchacki Jul 19, 2019
c0a2f49
Update js/apps/system/_admin/aardvark/APP/frontend/js/views/collectio…
mchacki Jul 22, 2019
ac7c442
Update js/apps/system/_admin/aardvark/APP/frontend/js/views/collectio…
mchacki Jul 22, 2019
217a97e
Update Documentation/Books/Manual/Architecture/Replication/README.md
KVS85 Jul 22, 2019
1e30086
Update CHANGELOG
KVS85 Jul 22, 2019
28da794
Update Documentation/Books/Manual/DataModeling/Collections/DatabaseMe…
KVS85 Jul 22, 2019
9cba4e8
Update Documentation/Books/Manual/ReleaseNotes/NewFeatures35.md
KVS85 Jul 22, 2019
dde5733
Update Documentation/DocuBlocks/Rest/Collections/1_structs.md
KVS85 Jul 22, 2019
0b2a9fd
Update js/apps/system/_admin/aardvark/APP/frontend/js/views/graphMana…
KVS85 Jul 22, 2019
991e886
Update js/apps/system/_admin/aardvark/APP/frontend/js/views/graphMana…
KVS85 Jul 22, 2019
abd5bf1
Update Documentation/DocuBlocks/Rest/Graph/1_structs.md
mchacki Jul 22, 2019
8154144
Apply suggestions from code review
mchacki Jul 22, 2019
4c6685e
Adepted review requests, thanks for finding!
mchacki Jul 22, 2019
8b106c7
Merge branch 'bug-fix-3.5/minReplicationFactor' of ssh://github.com/a…
mchacki Jul 22, 2019
4216052
Removed unnecessary const
mchacki Jul 22, 2019
314600a
Apply suggestions from code review
mchacki Jul 22, 2019
28e54e7
Moved initilization of variable more downwards
mchacki Jul 22, 2019
a284e66
Apply lock before notify_all()
mchacki Jul 22, 2019
0144f4e
Remove documentation except DocuBlocks, covered by PR in docs repo
Simran-B Jul 22, 2019
70c2b0f
Remove accidental indent
Simran-B Jul 22, 2019
ecc031e
Merge branch '3.5' into bug-fix-3.5/minReplicationFactor
KVS85 Jul 22, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Remove documentation except DocuBlocks, covered by PR in docs repo
  • Loading branch information
Simran-B committed Jul 22, 2019
commit 0144f4ec1e0f877c0a80321be74127123b366c6a
4 changes: 0 additions & 4 deletions Documentation/Books/Manual/Architecture/Replication/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,6 @@ factor. The number of _followers_ can be controlled using the
`replicationFactor` parameter is the total number of copies being
kept, that is, it is one plus the number of _followers_.

In addition to the `replicationFactor` we have a `minReplicationFactor`
that locks down a collection for writing as soon as we have lost too many followers.


Asynchronous replication
------------------------

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,15 +164,6 @@ to the [naming conventions](../NamingConventions/README.md).
dramatically when using joins in AQL at the costs of reduced write
performance on these collections.

- *minReplicationFactor* (optional, default is 1): in a cluster, this
attribute determines how many copies of each shard are required
to be in sync on the different DBServers. If we have less then these
many copies in the cluster a shard will refuse to write. The
minReplicationFactor can not be larger than replicationFactor.
Please note: during server failures this might lead to writes
not being possible until the failover is sorted out and might cause
write slow downs in trade of data durability.

- *distributeShardsLike*: distribute the shards of this collection
cloning the shard distribution of another. If this value is set,
it will copy the attributes *replicationFactor*, *numberOfShards* and
Expand Down
18 changes: 0 additions & 18 deletions Documentation/Books/Manual/ReleaseNotes/NewFeatures35.md
Original file line number Diff line number Diff line change
Expand Up @@ -217,18 +217,6 @@ operations in user-land AQL queries.
Also see the [TTL Indexes](../Indexing/Ttl.md) page.


Collections
-----------

All collections now support a minimum replication factor (minReplicationFactor) property.
This is default set to `1`, which is identical to previous behavior.
If in a failover scenario a shard of a collection has less than minReplicationFactor many insync followers it will go into "read-only" mode and will reject writes until enough followers are insync again.
In more detail:
Having `minReplicationFactor == 1` means as soon as a "master-copy" is available of the data
writes are allowed.
Having `minReplicationFactor > 1` requires additional insync copies on follower servers to allow writes.
The feature is used to reduce the diverging of data in case of server failures and to help new followers to catch up.

HTTP API extensions
-------------------

Expand Down Expand Up @@ -277,12 +265,6 @@ Note that this requires client applications to abort transactions which are no
longer necessary. Otherwise resources and locks acquired by the transactions
will hang around until the server decides to garbage-collect them.

### Minimal replication Factor

Within the properties of a collection we can now define a minReplicationFactor.
This affects all routes that can create or modify the properties of a collection, including
the graph API `_api/gharial`. All places where a replicationFactor can be modified, can now
modify the minReplicationFactor as well.

Web interface
-------------
Expand Down
0