Skip to content

Commit

Permalink
Merge pull request #6622 from luxas/backport_arm_fixes
Browse files Browse the repository at this point in the history
Backport arm fixes
  • Loading branch information
gyuho authored Oct 11, 2016
2 parents f771eac + fad9bdc commit fcbada7
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 17 deletions.
20 changes: 7 additions & 13 deletions etcdserver/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -154,13 +154,13 @@ type Server interface {

// EtcdServer is the production implementation of the Server interface
type EtcdServer struct {
// r and inflightSnapshots must be the first elements to keep 64-bit alignment for atomic
// access to fields

// count the number of inflight snapshots.
// MUST use atomic operation to access this field.
inflightSnapshots int64
Cfg *ServerConfig
// inflightSnapshots holds count the number of snapshots currently inflight.
inflightSnapshots int64 // must use atomic operations to access; keep 64-bit aligned.
appliedIndex uint64 // must use atomic operations to access; keep 64-bit aligned.
// consistIndex used to hold the offset of current executing entry
// It is initialized to 0 before executing any entry.
consistIndex consistentIndex // must use atomic operations to access; keep 64-bit aligned.
Cfg *ServerConfig

readych chan struct{}
r raftNode
Expand Down Expand Up @@ -195,10 +195,6 @@ type EtcdServer struct {
// compactor is used to auto-compact the KV.
compactor *compactor.Periodic

// consistent index used to hold the offset of current executing entry
// It is initialized to 0 before executing any entry.
consistIndex consistentIndex

// peerRt used to send requests (version, lease) to peers.
peerRt http.RoundTripper
reqIDGen *idutil.Generator
Expand All @@ -212,8 +208,6 @@ type EtcdServer struct {
// wg is used to wait for the go routines that depends on the server state
// to exit when stopping the server.
wg sync.WaitGroup

appliedIndex uint64
}

// NewServer creates a new EtcdServer from the supplied configuration. The
Expand Down
2 changes: 1 addition & 1 deletion raft/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ var (
// SoftState provides state that is useful for logging and debugging.
// The state is volatile and does not need to be persisted to the WAL.
type SoftState struct {
Lead uint64
Lead uint64 // must use atomic operations to access; keep 64-bit aligned.
RaftState StateType
}

Expand Down
2 changes: 1 addition & 1 deletion raft/raftpb/raft.pb.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions raft/raftpb/raft.proto
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ enum EntryType {
}

message Entry {
optional uint64 Term = 2 [(gogoproto.nullable) = false]; // must be 64-bit aligned for atomic operations
optional uint64 Index = 3 [(gogoproto.nullable) = false]; // must be 64-bit aligned for atomic operations
optional EntryType Type = 1 [(gogoproto.nullable) = false];
optional uint64 Term = 2 [(gogoproto.nullable) = false];
optional uint64 Index = 3 [(gogoproto.nullable) = false];
optional bytes Data = 4;
}

Expand Down

0 comments on commit fcbada7

Please sign in to comment.