Skip to content
Permalink
Branch: master
Commits on May 23, 2019
  1. Forward port of hazelcast#15072

    metanet authored and Holmistr committed May 23, 2019
    The same test failure could occur on the master branch.
Commits on May 21, 2019
  1. Merge pull request hazelcast#15062 from metanet/raft-snapshotting-opt…

    metanet committed May 21, 2019
    …imization-improvement
    
    Improve the Raft snapshotting optimization
Commits on May 20, 2019
  1. Improve the Raft snapshotting optimization

    metanet committed May 20, 2019
    If there is at least one follower with unknown match index, its log can
    be close to the leader's log so we are keeping the old log entries.
    Otherwise, we will keep the log entries until the minimum match index
    that is bigger than (commitIndex - maxNumberOfLogsToKeepAfterSnapshot).
    If there is no such follower (all of the minority followers are far
    behind), then there is no need to keep the old log entries.
Commits on May 17, 2019
  1. Run raft callbacks on partition threads

    metanet committed May 17, 2019
    When a RaftOp that is passed to a RaftNode receives its response, its
    response is not needed to be offloaded to an executor.
Commits on May 9, 2019
  1. Merge pull request hazelcast#14986 from metanet/raft-linearizable-rea…

    metanet committed May 9, 2019
    …d-optimization
    
    Raft linearizable read optimization
Commits on May 8, 2019
  1. Use the Raft query mechanism inside the CP Subsystem APIs

    metanet committed May 6, 2019
    Use the Raft query invocation mechanism for read-only methods of the CP
    concurrency primitives. This is for utilizing the new linearizable read
    optimization.
  2. Implement linearizable read optimization of the Raft dissertation

    metanet committed May 6, 2019
    With this optimization, queries (read-only operations) are executed
    with linearizability but they are not appended to the Raft log. By this
    way, we prevent the Raft log to grow and snapshots to be taken because
    of read-only operations.
Commits on Apr 30, 2019
Commits on Mar 25, 2019
  1. Merge pull request hazelcast#14756 from metanet/cp-subsystem/master/j…

    metanet committed Mar 25, 2019
    …avadoc/lockownershiplostexception
    
    Improve Javadoc of LockOwnershipLostException
Commits on Mar 22, 2019
  1. Merge pull request hazelcast#14743 from metanet/cp-subsystem/master/e…

    metanet committed Mar 22, 2019
    …xception-rename
    
    Rename LockAcquireLimitExceededException to LockAcquireLimitReachedException
  2. Rename LockAcquireLimitExceededException to LockAcquireLimitReachedEx…

    metanet committed Mar 22, 2019
    …ception
    
    LockAcquireLimitExceededException is a bit misleading because it is
    thrown from a new lock() call after the FencedLock reentrant acquire is
    reached. So the lock acquire limit is not really exceeded.
Commits on Mar 15, 2019
  1. Merge pull request hazelcast#14705 from metanet/cp-subsystem/fix/mast…

    metanet committed Mar 15, 2019
    …er/membership-change-bug-2
    
    Partially revert membership change fix in the Raft core
  2. Partially revert membership change fix in the Raft core

    metanet committed Mar 15, 2019
    A membership change fix is applied in the Raft core with
    5c6d2e1 commit. In this fix, a Raft
    node which is being added to a CP group steps down itself if it notices
    that its member-add log entry is reverted. It turns out that this is not
    a Raft node's decision to make. A Raft node cannot step down itself for
    this case because it does not know if a new member-add entry is present
    in the further indices of the Raft log or not. It is up to
    the "operator" to deal with this case. The Metadata CP group is
    the operator in our system and it resolves this case by replicating
    the failed member-add again.
    
    Long story short, no fix is a real fix until proven with a test.
Commits on Mar 14, 2019
  1. Merge pull request hazelcast#14691 from mdogan/cp-await-discovery

    metanet committed Mar 14, 2019
    Add api to await CP discovery process completion
  2. Merge pull request hazelcast#14693 from metanet/cp-subsystem/master/f…

    metanet committed Mar 14, 2019
    …ix/membership-change-bug
    
    Change membership change order in the CP Subsystem
Commits on Mar 13, 2019
  1. Change membership change order in the CP Subsystem

    metanet committed Mar 13, 2019
    When a CP member is being removed from the CP Subsystem, it is removed
    from all CP groups. For each CP group, if another CP member is going to
    be added to this group as a substitute of the leaving member, the member
    addition is applied before the member removal. However, member addition
    can cause the majority to be increased unnecessarily. There is no need
    to increase the majority here because there might be crashed members
    already. To avoid this situation, we first apply the member removal, and
    then the member addition.
  2. Fix a membership change bug in the Raft core

    metanet committed Mar 13, 2019
    When a new member is added to a CP group, it can initialize its local
    RaftNode after the new group member list is appended on other nodes.
    It does not have to wait until the new member list is committed.
    Dually, if the new member list is not committed and reverted, this
    RaftNode must step down.
Commits on Mar 11, 2019
  1. Merge pull request hazelcast#14669 from metanet/cp-subsystem/master/f…

    metanet committed Mar 11, 2019
    …ix/14637
    
    Bypass Hazelcast's ProxyService for CP data structure proxies
  2. Merge pull request hazelcast#14682 from mdogan/cp-live-ops

    metanet committed Mar 11, 2019
    Clear & repopulate live-ops during snapshot install
  3. Bypass Hazelcast's ProxyService for CP data structure proxies

    metanet committed Mar 11, 2019
    CP data structure proxies are not kept in the ProxyService and
    Hazelcast members do not notify each other on proxy creation.
Commits on Mar 7, 2019
  1. Merge pull request hazelcast#14666 from metanet/cp-subsystem/master/j…

    metanet committed Mar 7, 2019
    …avadoc/discovery
    
    Add Javadoc for CP Subsystem discovery
  2. Merge pull request hazelcast#14657 from metanet/cp-subsystem/master/l…

    metanet committed Mar 7, 2019
    …ong-wait
    
    Report waiting Raft operations via LiveOperationsTracker
Commits on Mar 6, 2019
  1. Report waiting Raft operations via LiveOperationsTracker

    metanet committed Mar 6, 2019
    If a committed Raft operation, like a lock() call, waits longer than
    operation timeout, it should not fail with operation timeout exception.
    LiveOperationsTracker API is used by blocking Raft services to report
    such operations.
Commits on Mar 5, 2019
  1. Merge pull request hazelcast#14632 from mdogan/completable-future-cle…

    metanet committed Mar 5, 2019
    …anup
    
    Use SimpleCompletableFuture from c.h.internal.util package
Commits on Mar 4, 2019
  1. Add note for CP member shutdown

    metanet committed Mar 4, 2019
    * Also update concurrent CP member shutdown test accordingly
    
    Fixes hazelcast#14550
Commits on Feb 28, 2019
  1. Merge pull request hazelcast#14604 from metanet/cp-subsystem/master/f…

    metanet committed Feb 28, 2019
    …ix/14586
    
    Fix RaftInvocationManagerQueryTest assertions
  2. Merge pull request hazelcast#14596 from metanet/cp-subsystem/master/f…

    metanet committed Feb 28, 2019
    …ix/follower-log-capacity
    
    Raft follower truncates AppendRequestRPC entries to fit its log capacity
  3. Raft follower truncates AppendRequestRPC entries to fit its log capacity

    metanet committed Feb 28, 2019
    When a Raft follower falls behind the leader, its log may need a few
    more entries to take the next snapshot and truncate the log. Since
    AppendEntriesRPC contains a batch of log entries, entries in the next
    RPC may not fit into the log of the slow follower. In this case, the
    follower truncates the entries in the RPC and appends them only as much
    as its capacity. After this moment, the follower will take a snapshot
    and append the remaining entries in further AppendEntriesRPCs without
    any problem.
    
    For instance, the leader sends 5 entries in an AppendEntriesRPC:
    [Entry1, Entry2, Entry3, Entry4, Entry5] but the follower has only 2
    free indices left in its log. So, the follower appends only
    [Entry1, Entry2] and sends the response back to the leader.
    In the mean while, it takes a snapshot and truncates its log. Then,
    the leader will send another AppendEntries RPC with
    [Entry3, Entry4, Entry5] and the follower is able to append them because
    it has already created sufficient free space by taking a snapshot after
    the previous AppendEntries RPC.
  4. Merge pull request hazelcast#14545 from metanet/cp-subsystem/javadoc/1

    metanet committed Feb 28, 2019
    Improve CP Subsystem Javadocs
Commits on Feb 27, 2019
  1. Improve CP Subsystem Javadocs

    metanet committed Feb 27, 2019
Older
You can’t perform that action at this time.