Skip to content
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

Durable queue #937

Merged
merged 5 commits into from Feb 1, 2018
Merged

Durable queue #937

merged 5 commits into from Feb 1, 2018

Conversation

@mercul3s
Copy link
Contributor

@mercul3s mercul3s commented Jan 26, 2018

What is this change?

Adds durability to queues by storing a dequeued item in an "in flight" queue, to be deleted or added back to the work queue depending on if the item is acked or nacked.

Why is this change necessary?

Closes #926.

Do you need clarification on anything?

I think an item should be Nacked in the case of a client timeout or disconnection, but I'm not sure of the right mechanism to do that, would love some suggestions as to where that should happen. I'm also passing the queue in with the item when it's created, which I'm not sure is the right thing to do. I considered making an interface for Item's ack/nack methods so I can create them as queue methods and pass them to an item, but I wanted to try out another method.

Were there any complications while making this change?

Nope!

@mercul3s mercul3s requested review from echlebek and palourde Jan 26, 2018
@mercul3s mercul3s force-pushed the durable-queue branch 2 times, most recently from db091ed to 5f881c5 Jan 26, 2018
Copy link
Contributor

@echlebek echlebek left a comment

This is excellent work and as it stands, a great improvement to the package. I think I've identified some further improvements we can make, and a couple potential bugs.

I think the bugs should be fixed before merging this PR, but the timeout handling can probably be taken care of in a subsequent PR.

}
return queue
}

// Item contains the key and value for a dequeued item, as well as the queue it
// belongs to.
type Item struct {

This comment has been minimized.

@echlebek

echlebek Jan 26, 2018
Contributor

You can improve safety for users of Item by adding a sync.Once to the struct.

In Ack and Nack, use the sync.Once to ensure that Ack and Nack cannot both be called.

This will also have the side effect of making Ack and Nack goroutine-safe.

This comment has been minimized.

@mercul3s

mercul3s Jan 26, 2018
Author Contributor

👍 makes total sense!

return nil
}

// Nack returns the item to the queue. It should be called if there is a timeout

This comment has been minimized.

@echlebek

echlebek Jan 26, 2018
Contributor

Users can't be expected to handle timeouts. We need to build timeout handling into the queue itself.

Suppose that a queue item is in flight, and the client experiences a crash. There are no longer any handles to the queue item, and there is no way to Ack or Nack it. The queue item is now in limbo forever.

What we can do is start up a goroutine when we Dequeue an Item that continually updates the timestamp of the item in the in-flight queue. The method looks something like this:

Let T be the timeout indicating when Items should be Nacked.
Let F be the in-flight queue.
Let I be a queue item that is Dequeued.
Let G be a goroutine that I starts on Dequeue.
Let N be the interval at which F is updated, N << T.

For each call to Dequeue:
    For each I in F:
        If time.Now() - I.Timestamp > T:
            Nack(I)
    Proceed with existing dequeue method

G:
    For each interval S in N:
        Retrieve I from F
        I.Timestamp = time.Now()

The basic idea of the above pseudocode is that when an item is dequeued, it starts up a goroutine that continually updates a key in etcd. Subsequent Dequeue calls range over the in-flight items, looking for ones that have timed out. If any are found, they are returned to the queue.

Acking or Nacking the Item stops the goroutine, and then does what you've implemented already.

This comment has been minimized.

@mercul3s

mercul3s Jan 26, 2018
Author Contributor

Cool, makes sense, I was thinking this would occur on timeout but wasn't quite sure how to implement it. I think this answers my questions about that!

// Nack returns the item to the queue. It should be called if there is a timeout
// or Ack isn't called within the context deadline.
func (i *Item) Nack(ctx context.Context) error {
err := i.queue.tryPut(ctx, i.Value())

This comment has been minimized.

@echlebek

echlebek Jan 26, 2018
Contributor

The put and delete operations need to be combined into the same transaction, or the queue could end up in an inconsistent state.

This comment has been minimized.

@mercul3s

mercul3s Jan 26, 2018
Author Contributor

Ah yeah, you're totally right, I'll fix that.

if err != nil {
return nil, err
}
if response.Succeeded {
return kv, nil
return &Item{data: kv, queue: q}, nil

This comment has been minimized.

@echlebek

echlebek Jan 26, 2018
Contributor

We are setting data: kv here and then using the key there to pass to Ack and Nack. But, the code above creates a new key and uses that for the in-flight queue. So I think this might be a bug.

This comment has been minimized.

@mercul3s

mercul3s Jan 26, 2018
Author Contributor

Oh yeah, that should be the new kv for the item in the in-flight queue.


putReq := clientv3.OpPut(uKey, string(kv.Value))
delReq := clientv3.OpDelete(key)
response, err := q.kv.Txn(ctx).If(cmp).Then(putReq, delReq).Commit()

This comment has been minimized.

@echlebek

echlebek Jan 26, 2018
Contributor

We need an additional cmp here.

putCmp := clientv3.Compare(clientv3.ModRevision(uKey), "=", 0)
@echlebek
Copy link
Contributor

@echlebek echlebek commented Jan 26, 2018

@mercul3s oh, and for the record, I think storing the queue in the item is the right way to go.

@@ -110,8 +111,9 @@ func TestDequeueParallel(t *testing.T) {
go func() {
value, err := queue.Dequeue(context.Background())
require.NoError(t, err)
fmt.Println(value)

This comment has been minimized.

@echlebek

echlebek Jan 27, 2018
Contributor

Stray Println

if response.Succeeded {
return kv, nil
getResponse, err := q.client.Get(ctx, uKey)

This comment has been minimized.

@echlebek

echlebek Jan 27, 2018
Contributor

This is not necessary. We already know the key and values, because we just put them in the queue a moment ago.

I'd suggest just storing the string values in the Item, instead of the Kv.

delReq := clientv3.OpDelete(i.key())

response, err := i.queue.kv.Txn(ctx).If(putCmp, delCmp).Then(putReq, delReq).Commit()
if err == nil && response.Succeeded {

This comment has been minimized.

@echlebek

echlebek Jan 27, 2018
Contributor

response.Succeeded does not lead to a meaningful branch here, because nil is returned regardless of success. Ack is the same.

I think the right thing to do is try this operation in a loop until it succeeds. Since Items are unique handles, and Ack and Nack are protected by a sync.Once, we don't have to worry about another goroutine contending for this key.

type Item struct {
data *mvccpb.KeyValue
queue *Queue
once *sync.Once

This comment has been minimized.

@echlebek

echlebek Jan 27, 2018
Contributor

The once needs to be used in Ack and Nack.

Example:

var err error
i.once.Do(func() {
    err = i.doTheAck()
})
return err

This comment has been minimized.

@mercul3s

mercul3s Jan 27, 2018
Author Contributor

Ran out of time to complete that, planning on finishing this up on Monday.

Copy link
Member

@palourde palourde left a comment

giphy

// When an item is received by a client, it is deleted from
// the work lane, and added to the in-flight lane. The item stays in-flight
// until it is acked by the client, or returned to the work queue in case the
// client nacks it or times out.

This comment has been minimized.

@palourde

palourde Jan 30, 2018
Member

Awesome explanation, thanks!

Copy link
Contributor

@echlebek echlebek left a comment

This is looking great!!! All the things I brought up in the review are minor suggestions, with the exception of the need for synchronizing access to Item's state.

Basically anywhere you assign to Item's fields, you'll need to protect that operation with a mutex. I think the most important place is the keepalive section.

Name string
kv clientv3.KV
client *clientv3.Client
Work string

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

Work and InFlight should not be exported, as the user can't do anything useful by reading them, and assigning to them would be a race.

i.Key = updateKey
}
}()
return err

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

With no waiting or synchronization, returning err here is a race condition. I would expect that most of the time err would be nil.

I'd suggest simply logging errors, and not returning an error from this function.


_, err = i.queue.kv.Txn(ctx).If(putCmp, delCmp).Then(putReq, delReq).Commit()

i.Key = updateKey

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

This is racy. One, because users can read the Key field, and two, because during the time between the transaction succeeding and the assignment to i.Key, Ack or Nack could be called, which would then have wrong information.

I think Item needs a mutex to guard against this, locking before the put/delete transaction, and unlocking after the assignment.

This comment has been minimized.

@mercul3s

mercul3s Jan 31, 2018
Author Contributor

Good point, I will definitely add a lock.

putReq := clientv3.OpPut(uKey, value)
delReq := clientv3.OpDelete(currentKey)

response, _ := q.kv.Txn(ctx).If(putCmp, delCmp).Then(putReq, delReq).Commit()

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

The error should be checked here.

return q.Dequeue(ctx)
}

func (q *Queue) tryDelete(ctx context.Context, kv *mvccpb.KeyValue) (*mvccpb.KeyValue, error) {
func (q *Queue) getItemTimestamp(key []byte) (int64, error) {

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

This should return a time.Time.

t := time.Unix(0, itemTimestamp)

}
// If the item has timed out or the client has disconnected, the item is
// considered expired and should be moved back to the work queue.
elapsedTime := time.Now().UnixNano() - itemTimestamp

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

if time.Now().Sub(itemTimestamp) > timeout {}, once you've made getItemTimestamp return a time.Time.

Revision int64
Timestamp int64
queue *Queue
once *sync.Once

This comment has been minimized.

@echlebek

echlebek Jan 30, 2018
Contributor

This doesn't need to be a pointer, since you already access Item's methods via a pointer. Saves you having to assign to it when you make a new Item.

@mercul3s mercul3s force-pushed the durable-queue branch 2 times, most recently from 7c56483 to df9a4d9 Jan 31, 2018
@mercul3s
Copy link
Contributor Author

@mercul3s mercul3s commented Jan 31, 2018

@echlebek I think I've addressed all of your comments, but I'm running into a timeout in the tests that's proving difficult to debug. I'd welcome a second set of eyes.

func (i *Item) keepalive(ctx context.Context) {
ticker := time.NewTicker(1 * time.Second)
go func() {
for _ = range ticker.C {

This comment has been minimized.

@echlebek

echlebek Jan 31, 2018
Contributor

Looks like this goroutine is never terminating.

It should terminate when Ack or Nack is called.

Use context cancellation to terminate the goroutine.

go func() {
    defer ticker.Close()
    for {
        select {
        case <-ticker.C:
            // handle ticker case
        case <-ctx.Done():
            return
        }
    }
}()
}
return queue
}

// Item contains the key and value for a dequeued item, as well as the queue it
// belongs to.
type Item struct {

This comment has been minimized.

@echlebek

echlebek Jan 31, 2018
Contributor

Add a context.CancelFunc field to the Item, and call that when Ack or Nack is called. Then pass the context associated with that CancelFunc to keepalive.

)

i.once.Do(func() {
err = i.queue.swapLane(ctx, i.Key, i.Revision, i.Value, i.queue.work)

This comment has been minimized.

@echlebek

echlebek Jan 31, 2018
Contributor

This needs a mutex lock/unlock because i.Key is being read.

func (i *Item) Ack(ctx context.Context) error {
var err error
i.once.Do(func() {
delCmp := clientv3.Compare(clientv3.ModRevision(i.Key), "=", i.Revision)

This comment has been minimized.

@echlebek

echlebek Jan 31, 2018
Contributor

This needs a mutex lock/unlock because i.Key is being read.

@mercul3s mercul3s force-pushed the durable-queue branch from 7100f1a to 0c6098a Feb 1, 2018
Copy link
Contributor

@echlebek echlebek left a comment

image

if err != nil {
return err
}
var mu = &sync.Mutex{}

This comment has been minimized.

@echlebek

echlebek Feb 1, 2018
Contributor

This mutex is only referenced by a single goroutine, so it has no effect and can be removed.

mercul3s added 5 commits Jan 25, 2018
Dequeue now adds the item to inflight and deletes it from the work queue
in a multi op transaction.

Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

WIP queue durability

Added data structure and methods for item
Added work and in flight lanes

Signed-off-by: Mercedes Coyle <mercedes@sensu.io>
Ack now deletes its item, while Nack puts it back in the work queue.
Now returning nil instead of an empty item struct for better handling.
Nack does put and delete in one transaction
Fixed bug in tryDelete where old keyname would be returned

Signed-off-by: Mercedes Coyle <mercedes@sensu.io>
Added funcs for nacking expired items, getting timestamps from keys, and
updating the key timestamp, configurable timeout value to Queue

Signed-off-by: Mercedes Coyle <mercedes@sensu.io>
Added mutex to item so key updates are locked, updated timestamps to be
consistent time.Time values, un-exported queue lanes

Signed-off-by: Mercedes Coyle <mercedes@sensu.io>
Added locks around transactions
Terminate goroutine on ack/nack or context cancelation

Signed-off-by: Mercedes Coyle <mercedes@sensu.io>
@mercul3s mercul3s force-pushed the durable-queue branch from 19e3f1f to c406258 Feb 1, 2018
@mercul3s mercul3s merged commit 3479231 into master Feb 1, 2018
3 checks passed
3 checks passed
DCO All commits have a DCO sign-off from the author
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
@mercul3s mercul3s deleted the durable-queue branch Feb 1, 2018
nikkictl pushed a commit that referenced this pull request Feb 5, 2018
commit c8d9dab
Merge: 383e186 aa3d01b
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Feb 5 09:47:28 2018 -0600

    Merge branch 'bugfix/keepalive-timeout' of https://github.com/sensu/sensu-go into bugfix/keepalive-timeout

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 383e186
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 14:46:22 2018 -0600

    Add an e2e test for keepalive timeout updates

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit be67f5b
Author: Nikki Attea <nikki@sensu.io>
Date:   Thu Feb 1 19:06:14 2018 -0600

    Fix the keepalive timeout type, correct a comment and test statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit bbb3f3a
Merge: 8e7bb8f d1deb7d
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 10:12:03 2018 -0500

    Merge pull request #962 from sensu/testing/check-scheduling-refactoring

    Refactoring of check_scheduler_test

commit d1deb7d
Merge: 029cf9c 8e7bb8f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:33:00 2018 -0500

    Merge branch 'master' into testing/check-scheduling-refactoring

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8e7bb8f
Merge: 5d9db4f 4b4b17a
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:31:49 2018 -0500

    Merge pull request #964 from sensu/testing/etcd

    Disable race detector for tests with etcd store

commit 4b4b17a
Merge: bc5ebc9 5d9db4f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:04:23 2018 -0500

    Merge branch 'master' into testing/etcd

commit 5d9db4f
Merge: 3479231 23e2071
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:02:26 2018 -0500

    Merge pull request #965 from sensu/fix-queue-test

    Fixed auto nack test

commit 23e2071
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 16:14:51 2018 -0800

    Appease the linter

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bb85eba
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 15:56:52 2018 -0800

    Rework test to better simulate client crash

    Added context with cancel and then cancel context, queue has default
    timeout of 60 seconds

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 998ceef
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 14:20:34 2018 -0800

    Fixed auto nack test

    Added logic to close client, create a new client and queue, and test
    that the expected value is back in the work queue.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bc5ebc9
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:48:09 2018 -0500

    Mark backend/queue tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 7932cbd
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:47:34 2018 -0500

    Mark backend/etcd tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit aa3d01b
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 14:46:22 2018 -0600

    Add an e2e test for keepalive timeout updates

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 465d89f
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:45:57 2018 -0500

    Explicitly mark which tests should run with race detector

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 24dbd92
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 13:34:01 2018 -0600

    All store/etcd are integration

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 806fca4
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:46:58 2018 -0600

    Revert build tag

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fc77216
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:43:48 2018 -0600

    Add build tag fix to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 9085d71
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:42:06 2018 -0600

    Add !race and integration build tags to etcd tests

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 029cf9c
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 13:34:35 2018 -0500

    Add check scheduling refactoring to changelog

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 80f4ad0
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 18:10:21 2018 -0500

    Refactoring of check_scheduler_test

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit e39c65c
Author: Nikki Attea <nikki@sensu.io>
Date:   Thu Feb 1 19:06:14 2018 -0600

    Fix the keepalive timeout type, correct a comment and test statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 3479231
Merge: f913cbd c406258
Author: Mercedes Coyle <mercul3s@users.noreply.github.com>
Date:   Thu Feb 1 10:52:21 2018 -0800

    Merge pull request #937 from sensu/durable-queue

    Durable queue

commit f913cbd
Merge: b0baca8 3b3c24c
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Thu Feb 1 13:22:03 2018 -0500

    Merge pull request #957 from sensu/bugfix/check-silencing

    Compare check & entity subscriptions before silencing

commit c406258
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Wed Jan 31 15:55:45 2018 -0800

    Concurrency fixes

    Added locks around transactions
    Terminate goroutine on ack/nack or context cancelation

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit a1e16be
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Tue Jan 30 16:31:06 2018 -0800

    Avoid race in keepalive

    Added mutex to item so key updates are locked, updated timestamps to be
    consistent time.Time values, un-exported queue lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 6b99d48
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Sat Jan 27 12:26:50 2018 -0800

    Ensure ack or nack can only be called once exclusively

    Added funcs for nacking expired items, getting timestamps from keys, and
    updating the key timestamp, configurable timeout value to Queue

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 1824a32
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 18:42:15 2018 -0800

    Filled out Ack and Nack functions

    Ack now deletes its item, while Nack puts it back in the work queue.
    Now returning nil instead of an empty item struct for better handling.
    Nack does put and delete in one transaction
    Fixed bug in tryDelete where old keyname would be returned

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit eea7e1f
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 13:07:22 2018 -0800

    Added inflight lane and put operation to dequeue

    Dequeue now adds the item to inflight and deletes it from the work queue
    in a multi op transaction.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    WIP queue durability

    Added data structure and methods for item
    Added work and in flight lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit b0baca8
Merge: 69988cf d8da7b7
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Thu Feb 1 09:53:14 2018 -0800

    Merge pull request #952 from sensu/concurrency/ring-ownership

    Add ownership concept to the Ring.

commit d8da7b7
Author: Eric Chlebek <eric@sensu.io>
Date:   Tue Jan 30 14:32:22 2018 -0800

    Add ownership concept to the Ring.

    * Adding ring items implicitly tracks ownership by backends.
    * Only the backend that added an item can retrieve it via Next().
    * A backend can transfer ownership of an item to itself with Add().

    This commit provides a way to disambiguate relationships between
    backends and agents, when the ring is used by schedulerd. When a
    client receives a value via Next(), the client knows for a fact
    that the value is one placed there by them.

    The order of the Ring is maintained throughout, by making Next
    block until it has an item that it is allowed to consume.

    If a client and backend go offline and never come back, an orphaned
    element is left in the ring. These are reclaimed by lease
    expirations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 3b3c24c
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:10:40 2018 -0500

    Add changelog entry for event silencing bugfix

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8aeece9
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:00:58 2018 -0500

    Compare check & entity subscriptions before silencing

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 69988cf
Merge: a9d0d3b b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 19:30:16 2018 -0600

    Merge pull request #956 from sensu/bugfix/process-timer

    [Bugfix] Stop timer if process exits before timeout is exceeded

commit b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:30:24 2018 -0600

    Use params properly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 0de6e6a
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:14:55 2018 -0600

    Correct type

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 885f6a9
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:49:09 2018 -0600

    Add timeout test cases executeCheck

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fedcc6e
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:39:56 2018 -0600

    Stop timer if process exits before timeout

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit a9d0d3b
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:36:49 2018 -0600

    Replace array with map and mutex for in-progress checks (#953)

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Squashed commit of the following:

    commit fb16820
    Merge: a71b752 d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:14:46 2018 -0600

        Merge branch 'bugfix/checks-in-progress' of https://github.com/sensu/sensu-go into bugfix/checks-in-progress

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit a71b752
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 259aca6
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit f585f63
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Wed Jan 31 15:02:17 2018 -0500

        Fix and add integration tests to our CI

        * Fix and add integration tests to our CI

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 1229beb
    Merge: 09b7c95 e0d5564
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Wed Jan 31 11:31:03 2018 -0800

        Merge pull request #954 from sensu/bugfix/leader-atomics

        Ensure atomic fields are 8-byte aligned.

    commit e0d5564
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Wed Jan 31 10:19:07 2018 -0800

        Ensure atomic fields are 8-byte aligned.

        This is necessary for 32-bit x86 and ARM when performing atomic
        operations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit a2c1862
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 09b7c95
    Merge: bad2890 bb7d080
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:07 2018 -0500

        Merge pull request #950 from sensu/testing/proxy-requests

        Add e2e test for proxy check requests

    commit bb7d080
    Merge: 5aa5359 bad2890
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:00 2018 -0500

        Merge branch 'master' into testing/proxy-requests

    commit bad2890
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 16:19:45 2018 -0500

        Bumped version to v2.0.0-alpha.15-1

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit f0f250e
    Merge: 67e9871 c49a109
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:49:31 2018 -0800

        Merge pull request #948 from sensu/web/quicknav

        [Web] Quick Nav Implementation

    commit c49a109
    Merge: fa002d4 67e9871
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:48:48 2018 -0800

        Merge branch 'master' into web/quicknav

    commit fa002d4
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 11:45:27 2018 -0800

        Wrap up changes to converting IconButton to Link

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit a1243d5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 09:37:11 2018 -0800

        Add TODOs and use theme colour when possible

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 5aa5359
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 10:44:35 2018 -0500

        Add e2e test for proxy check requests

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 15a20eb
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:32:47 2018 -0800

        Update changelog

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit ccd3148
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:03:15 2018 -0800

        Update package.json with classnames dependency for quick nav

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit cbbac90
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 17:26:44 2018 -0800

        Finish quick nav implementation and clean up

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit f1df0ec
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:47:29 2018 -0800

        Quick nav padding and coour adjustments

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 6cb0d9e
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:16:39 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 0213823
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Fri Jan 26 14:52:22 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 120abc5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Thu Jan 25 17:55:48 2018 -0800

        Initial steps for quick nav component

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve merge conflict

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve interface error

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Remove ineffectual statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * 4th check is unnecessary, add comments

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Unit test rather than integration test, modify in progress checks directly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f585f63
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Wed Jan 31 15:02:17 2018 -0500

    Fix and add integration tests to our CI

    * Fix and add integration tests to our CI

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 1229beb
Merge: 09b7c95 e0d5564
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Wed Jan 31 11:31:03 2018 -0800

    Merge pull request #954 from sensu/bugfix/leader-atomics

    Ensure atomic fields are 8-byte aligned.

commit e0d5564
Author: Eric Chlebek <eric@sensu.io>
Date:   Wed Jan 31 10:19:07 2018 -0800

    Ensure atomic fields are 8-byte aligned.

    This is necessary for 32-bit x86 and ARM when performing atomic
    operations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 09b7c95
Merge: bad2890 bb7d080
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:07 2018 -0500

    Merge pull request #950 from sensu/testing/proxy-requests

    Add e2e test for proxy check requests

commit bb7d080
Merge: 5aa5359 bad2890
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:00 2018 -0500

    Merge branch 'master' into testing/proxy-requests

commit bad2890
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 16:19:45 2018 -0500

    Bumped version to v2.0.0-alpha.15-1

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit f0f250e
Merge: 67e9871 c49a109
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:49:31 2018 -0800

    Merge pull request #948 from sensu/web/quicknav

    [Web] Quick Nav Implementation

commit c49a109
Merge: fa002d4 67e9871
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:48:48 2018 -0800

    Merge branch 'master' into web/quicknav

commit fa002d4
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 11:45:27 2018 -0800

    Wrap up changes to converting IconButton to Link

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 67e9871
Merge: 735e396 8ae0fe0
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Tue Jan 30 11:40:49 2018 -0800

    Merge pull request #947 from sensu/concurrency/ring-peek

    Add Peek method to Ring.

commit a1243d5
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 09:37:11 2018 -0800

    Add TODOs and use theme colour when possible

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 5aa5359
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 10:44:35 2018 -0500

    Add e2e test for proxy check requests

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 735e396
Merge: 44cc345 e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:30:03 2018 -0600

    Merge pull request #944 from sensu/feature/proxy-requests

    Publish Proxy Check Requests

commit e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:09:39 2018 -0600

    Log statement if no entities match

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 15a20eb
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:32:47 2018 -0800

    Update changelog

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 717b5a7
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 20:15:27 2018 -0600

    Only replace \" if contained within {{ }}, add test cases

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit ccd3148
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:03:15 2018 -0800

    Update package.json with classnames dependency for quick nav

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit cbbac90
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 17:26:44 2018 -0800

    Finish quick nav implementation and clean up

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit f1df0ec
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:47:29 2018 -0800

    Quick nav padding and coour adjustments

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 6cb0d9e
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:16:39 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 0213823
Author: Melissa P <73hl10n@gmail.com>
Date:   Fri Jan 26 14:52:22 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 120abc5
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Jan 25 17:55:48 2018 -0800

    Initial steps for quick nav component

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 44cc345
Author: Greg Poirier <grep@binary-snobbery.com>
Date:   Mon Jan 29 13:45:16 2018 -0800

    Cron and Interval check scheduling are now mutually exclusive (#941)

    * Cron and Interval check scheduling are now mutually exclusive

    Signed-off-by: Greg Poirier <greg.istehbest@gmail.com>

commit 8ae0fe0
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 13:11:27 2018 -0800

    Add Peek method to Ring.

    Peek can be used by clients that wish to know what's next in the
    ring, but don't wish to advance the iteration.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 779b7a1
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 10:41:39 2018 -0800

    Don't use -v for tests.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 9477219
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 12:56:42 2018 -0600

    Publish proxy check requests to entities if applicable, add remove-proxy-requests cli command, refactor funcs to util/eval

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 40bc256
Merge: 1e0a122 106439c
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Mon Jan 29 10:30:25 2018 -0800

    Merge pull request #908 from sensu/concurrency/leader

    Add package leader.

commit 106439c
Author: Eric Chlebek <eric@sensu.io>
Date:   Thu Jan 18 15:35:27 2018 -0800

    Add package leader.

    Package leader provides the Do function, which allows package
    users to execute functions exclusively from the leader node.
    The leader package uses etcd elections to achieve this.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 1e0a122
Merge: f779c75 d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 14:08:03 2018 -0800

    Merge pull request #936 from sensu/dashboard-cleanup

    [Web] Housekeeping

commit d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:40:53 2018 -0800

    [Web] Fix gutters on AppBar

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit aea7e13
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:29:05 2018 -0800

    [Web] Remove avatar from toolbar; move logout to drawer

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0fee12b
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:37:46 2018 -0800

    [Web] Update lint-staged

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 40c5b33
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:30:11 2018 -0800

    [Web] Update react & friends

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0acc324
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:13:02 2018 -0800

    [Web] Update eslint packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 6a74cae
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:44:34 2018 -0800

    [Web] Update babel packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit a3baf90
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:34:55 2018 -0800

    [Web] Update react-dev-utils package

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 309fcda
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:19:20 2018 -0800

    [Web] Update material-ui to latest for style improvements

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit e7cb685
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Thu Jan 25 13:02:05 2018 -0800

    [GraphQL] Fixup issue with pagination

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

Signed-off-by: Nikki Attea <nikki@sensu.io>
nikkictl pushed a commit that referenced this pull request Feb 5, 2018
commit 1dffad9
Merge: ac30441 3b866dc
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Feb 5 09:56:04 2018 -0600

    Merge branch 'bugfix/confirm-delete' of https://github.com/sensu/sensu-go into bugfix/confirm-delete

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit ac30441
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:12:08 2018 -0600

    Add cli change to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f33812c
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:06:57 2018 -0600

    Appease the linter, return false if error/interrupt

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit bd92e0e
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:02:46 2018 -0600

    Change uppercase confirm delete to y/N

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit bbb3f3a
Merge: 8e7bb8f d1deb7d
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 10:12:03 2018 -0500

    Merge pull request #962 from sensu/testing/check-scheduling-refactoring

    Refactoring of check_scheduler_test

commit d1deb7d
Merge: 029cf9c 8e7bb8f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:33:00 2018 -0500

    Merge branch 'master' into testing/check-scheduling-refactoring

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8e7bb8f
Merge: 5d9db4f 4b4b17a
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:31:49 2018 -0500

    Merge pull request #964 from sensu/testing/etcd

    Disable race detector for tests with etcd store

commit 4b4b17a
Merge: bc5ebc9 5d9db4f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:04:23 2018 -0500

    Merge branch 'master' into testing/etcd

commit 5d9db4f
Merge: 3479231 23e2071
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:02:26 2018 -0500

    Merge pull request #965 from sensu/fix-queue-test

    Fixed auto nack test

commit 23e2071
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 16:14:51 2018 -0800

    Appease the linter

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bb85eba
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 15:56:52 2018 -0800

    Rework test to better simulate client crash

    Added context with cancel and then cancel context, queue has default
    timeout of 60 seconds

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 998ceef
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 14:20:34 2018 -0800

    Fixed auto nack test

    Added logic to close client, create a new client and queue, and test
    that the expected value is back in the work queue.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bc5ebc9
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:48:09 2018 -0500

    Mark backend/queue tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 7932cbd
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:47:34 2018 -0500

    Mark backend/etcd tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 465d89f
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:45:57 2018 -0500

    Explicitly mark which tests should run with race detector

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 24dbd92
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 13:34:01 2018 -0600

    All store/etcd are integration

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 806fca4
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:46:58 2018 -0600

    Revert build tag

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fc77216
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:43:48 2018 -0600

    Add build tag fix to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 9085d71
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:42:06 2018 -0600

    Add !race and integration build tags to etcd tests

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 029cf9c
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 13:34:35 2018 -0500

    Add check scheduling refactoring to changelog

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 80f4ad0
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 18:10:21 2018 -0500

    Refactoring of check_scheduler_test

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 3b866dc
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:12:08 2018 -0600

    Add cli change to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 59e7d53
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:06:57 2018 -0600

    Appease the linter, return false if error/interrupt

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 111f4bf
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:02:46 2018 -0600

    Change uppercase confirm delete to y/N

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 3479231
Merge: f913cbd c406258
Author: Mercedes Coyle <mercul3s@users.noreply.github.com>
Date:   Thu Feb 1 10:52:21 2018 -0800

    Merge pull request #937 from sensu/durable-queue

    Durable queue

commit f913cbd
Merge: b0baca8 3b3c24c
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Thu Feb 1 13:22:03 2018 -0500

    Merge pull request #957 from sensu/bugfix/check-silencing

    Compare check & entity subscriptions before silencing

commit c406258
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Wed Jan 31 15:55:45 2018 -0800

    Concurrency fixes

    Added locks around transactions
    Terminate goroutine on ack/nack or context cancelation

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit a1e16be
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Tue Jan 30 16:31:06 2018 -0800

    Avoid race in keepalive

    Added mutex to item so key updates are locked, updated timestamps to be
    consistent time.Time values, un-exported queue lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 6b99d48
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Sat Jan 27 12:26:50 2018 -0800

    Ensure ack or nack can only be called once exclusively

    Added funcs for nacking expired items, getting timestamps from keys, and
    updating the key timestamp, configurable timeout value to Queue

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 1824a32
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 18:42:15 2018 -0800

    Filled out Ack and Nack functions

    Ack now deletes its item, while Nack puts it back in the work queue.
    Now returning nil instead of an empty item struct for better handling.
    Nack does put and delete in one transaction
    Fixed bug in tryDelete where old keyname would be returned

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit eea7e1f
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 13:07:22 2018 -0800

    Added inflight lane and put operation to dequeue

    Dequeue now adds the item to inflight and deletes it from the work queue
    in a multi op transaction.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    WIP queue durability

    Added data structure and methods for item
    Added work and in flight lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit b0baca8
Merge: 69988cf d8da7b7
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Thu Feb 1 09:53:14 2018 -0800

    Merge pull request #952 from sensu/concurrency/ring-ownership

    Add ownership concept to the Ring.

commit d8da7b7
Author: Eric Chlebek <eric@sensu.io>
Date:   Tue Jan 30 14:32:22 2018 -0800

    Add ownership concept to the Ring.

    * Adding ring items implicitly tracks ownership by backends.
    * Only the backend that added an item can retrieve it via Next().
    * A backend can transfer ownership of an item to itself with Add().

    This commit provides a way to disambiguate relationships between
    backends and agents, when the ring is used by schedulerd. When a
    client receives a value via Next(), the client knows for a fact
    that the value is one placed there by them.

    The order of the Ring is maintained throughout, by making Next
    block until it has an item that it is allowed to consume.

    If a client and backend go offline and never come back, an orphaned
    element is left in the ring. These are reclaimed by lease
    expirations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 3b3c24c
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:10:40 2018 -0500

    Add changelog entry for event silencing bugfix

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8aeece9
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:00:58 2018 -0500

    Compare check & entity subscriptions before silencing

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 69988cf
Merge: a9d0d3b b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 19:30:16 2018 -0600

    Merge pull request #956 from sensu/bugfix/process-timer

    [Bugfix] Stop timer if process exits before timeout is exceeded

commit b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:30:24 2018 -0600

    Use params properly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 0de6e6a
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:14:55 2018 -0600

    Correct type

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 885f6a9
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:49:09 2018 -0600

    Add timeout test cases executeCheck

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fedcc6e
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:39:56 2018 -0600

    Stop timer if process exits before timeout

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit a9d0d3b
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:36:49 2018 -0600

    Replace array with map and mutex for in-progress checks (#953)

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Squashed commit of the following:

    commit fb16820
    Merge: a71b752 d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:14:46 2018 -0600

        Merge branch 'bugfix/checks-in-progress' of https://github.com/sensu/sensu-go into bugfix/checks-in-progress

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit a71b752
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 259aca6
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit f585f63
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Wed Jan 31 15:02:17 2018 -0500

        Fix and add integration tests to our CI

        * Fix and add integration tests to our CI

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 1229beb
    Merge: 09b7c95 e0d5564
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Wed Jan 31 11:31:03 2018 -0800

        Merge pull request #954 from sensu/bugfix/leader-atomics

        Ensure atomic fields are 8-byte aligned.

    commit e0d5564
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Wed Jan 31 10:19:07 2018 -0800

        Ensure atomic fields are 8-byte aligned.

        This is necessary for 32-bit x86 and ARM when performing atomic
        operations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit a2c1862
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 09b7c95
    Merge: bad2890 bb7d080
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:07 2018 -0500

        Merge pull request #950 from sensu/testing/proxy-requests

        Add e2e test for proxy check requests

    commit bb7d080
    Merge: 5aa5359 bad2890
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:00 2018 -0500

        Merge branch 'master' into testing/proxy-requests

    commit bad2890
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 16:19:45 2018 -0500

        Bumped version to v2.0.0-alpha.15-1

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit f0f250e
    Merge: 67e9871 c49a109
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:49:31 2018 -0800

        Merge pull request #948 from sensu/web/quicknav

        [Web] Quick Nav Implementation

    commit c49a109
    Merge: fa002d4 67e9871
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:48:48 2018 -0800

        Merge branch 'master' into web/quicknav

    commit fa002d4
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 11:45:27 2018 -0800

        Wrap up changes to converting IconButton to Link

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit a1243d5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 09:37:11 2018 -0800

        Add TODOs and use theme colour when possible

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 5aa5359
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 10:44:35 2018 -0500

        Add e2e test for proxy check requests

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 15a20eb
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:32:47 2018 -0800

        Update changelog

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit ccd3148
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:03:15 2018 -0800

        Update package.json with classnames dependency for quick nav

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit cbbac90
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 17:26:44 2018 -0800

        Finish quick nav implementation and clean up

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit f1df0ec
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:47:29 2018 -0800

        Quick nav padding and coour adjustments

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 6cb0d9e
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:16:39 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 0213823
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Fri Jan 26 14:52:22 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 120abc5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Thu Jan 25 17:55:48 2018 -0800

        Initial steps for quick nav component

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve merge conflict

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve interface error

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Remove ineffectual statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * 4th check is unnecessary, add comments

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Unit test rather than integration test, modify in progress checks directly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f585f63
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Wed Jan 31 15:02:17 2018 -0500

    Fix and add integration tests to our CI

    * Fix and add integration tests to our CI

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 1229beb
Merge: 09b7c95 e0d5564
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Wed Jan 31 11:31:03 2018 -0800

    Merge pull request #954 from sensu/bugfix/leader-atomics

    Ensure atomic fields are 8-byte aligned.

commit e0d5564
Author: Eric Chlebek <eric@sensu.io>
Date:   Wed Jan 31 10:19:07 2018 -0800

    Ensure atomic fields are 8-byte aligned.

    This is necessary for 32-bit x86 and ARM when performing atomic
    operations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 09b7c95
Merge: bad2890 bb7d080
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:07 2018 -0500

    Merge pull request #950 from sensu/testing/proxy-requests

    Add e2e test for proxy check requests

commit bb7d080
Merge: 5aa5359 bad2890
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:00 2018 -0500

    Merge branch 'master' into testing/proxy-requests

commit bad2890
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 16:19:45 2018 -0500

    Bumped version to v2.0.0-alpha.15-1

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit f0f250e
Merge: 67e9871 c49a109
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:49:31 2018 -0800

    Merge pull request #948 from sensu/web/quicknav

    [Web] Quick Nav Implementation

commit c49a109
Merge: fa002d4 67e9871
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:48:48 2018 -0800

    Merge branch 'master' into web/quicknav

commit fa002d4
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 11:45:27 2018 -0800

    Wrap up changes to converting IconButton to Link

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 67e9871
Merge: 735e396 8ae0fe0
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Tue Jan 30 11:40:49 2018 -0800

    Merge pull request #947 from sensu/concurrency/ring-peek

    Add Peek method to Ring.

commit a1243d5
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 09:37:11 2018 -0800

    Add TODOs and use theme colour when possible

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 5aa5359
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 10:44:35 2018 -0500

    Add e2e test for proxy check requests

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 735e396
Merge: 44cc345 e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:30:03 2018 -0600

    Merge pull request #944 from sensu/feature/proxy-requests

    Publish Proxy Check Requests

commit e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:09:39 2018 -0600

    Log statement if no entities match

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 15a20eb
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:32:47 2018 -0800

    Update changelog

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 717b5a7
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 20:15:27 2018 -0600

    Only replace \" if contained within {{ }}, add test cases

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit ccd3148
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:03:15 2018 -0800

    Update package.json with classnames dependency for quick nav

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit cbbac90
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 17:26:44 2018 -0800

    Finish quick nav implementation and clean up

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit f1df0ec
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:47:29 2018 -0800

    Quick nav padding and coour adjustments

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 6cb0d9e
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:16:39 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 0213823
Author: Melissa P <73hl10n@gmail.com>
Date:   Fri Jan 26 14:52:22 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 120abc5
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Jan 25 17:55:48 2018 -0800

    Initial steps for quick nav component

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 44cc345
Author: Greg Poirier <grep@binary-snobbery.com>
Date:   Mon Jan 29 13:45:16 2018 -0800

    Cron and Interval check scheduling are now mutually exclusive (#941)

    * Cron and Interval check scheduling are now mutually exclusive

    Signed-off-by: Greg Poirier <greg.istehbest@gmail.com>

commit 8ae0fe0
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 13:11:27 2018 -0800

    Add Peek method to Ring.

    Peek can be used by clients that wish to know what's next in the
    ring, but don't wish to advance the iteration.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 779b7a1
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 10:41:39 2018 -0800

    Don't use -v for tests.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 9477219
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 12:56:42 2018 -0600

    Publish proxy check requests to entities if applicable, add remove-proxy-requests cli command, refactor funcs to util/eval

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 40bc256
Merge: 1e0a122 106439c
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Mon Jan 29 10:30:25 2018 -0800

    Merge pull request #908 from sensu/concurrency/leader

    Add package leader.

commit 106439c
Author: Eric Chlebek <eric@sensu.io>
Date:   Thu Jan 18 15:35:27 2018 -0800

    Add package leader.

    Package leader provides the Do function, which allows package
    users to execute functions exclusively from the leader node.
    The leader package uses etcd elections to achieve this.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 1e0a122
Merge: f779c75 d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 14:08:03 2018 -0800

    Merge pull request #936 from sensu/dashboard-cleanup

    [Web] Housekeeping

commit f779c75
Merge: 498e09f 7939762
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Fri Jan 26 13:53:15 2018 -0800

    Merge pull request #930 from sensu/concurrency/etcd-ring

    Add etcd ring data structure.

commit 7939762
Author: Eric Chlebek <eric@sensu.io>
Date:   Fri Jan 26 10:47:04 2018 -0800

    Fix lint and Getter interface.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit dd9013c
Author: Eric Chlebek <eric@sensu.io>
Date:   Thu Jan 25 14:45:40 2018 -0800

    Ensure value is not already present on Add.

    This commit fixes a but in the ring data structure where
    duplicates could be added if the added value is already present.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 2951c11
Author: Eric Chlebek <eric@sensu.io>
Date:   Wed Jan 24 15:24:39 2018 -0800

    Add etcd ring data structure.

    Ring is a data structure that cycles through its values with every
    call to Next. The values can be added or removed concurrently with
    calls to Next.

    Ring will be used for round-robin scheduling.

    Closes #925

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:40:53 2018 -0800

    [Web] Fix gutters on AppBar

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit aea7e13
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:29:05 2018 -0800

    [Web] Remove avatar from toolbar; move logout to drawer

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0fee12b
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:37:46 2018 -0800

    [Web] Update lint-staged

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 40c5b33
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:30:11 2018 -0800

    [Web] Update react & friends

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0acc324
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:13:02 2018 -0800

    [Web] Update eslint packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 6a74cae
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:44:34 2018 -0800

    [Web] Update babel packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit a3baf90
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:34:55 2018 -0800

    [Web] Update react-dev-utils package

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 309fcda
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:19:20 2018 -0800

    [Web] Update material-ui to latest for style improvements

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit e7cb685
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Thu Jan 25 13:02:05 2018 -0800

    [GraphQL] Fixup issue with pagination

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

Signed-off-by: Nikki Attea <nikki@sensu.io>
nikkictl pushed a commit that referenced this pull request Feb 5, 2018
Nikki Attea
)

* Fix the keepalive timeout type, correct a comment and test statement

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Add an e2e test for keepalive timeout updates

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Fix the keepalive timeout type, correct a comment and test statement

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Add an e2e test for keepalive timeout updates

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Squashed commit of the following:

commit c8d9dab
Merge: 383e186 aa3d01b
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Feb 5 09:47:28 2018 -0600

    Merge branch 'bugfix/keepalive-timeout' of https://github.com/sensu/sensu-go into bugfix/keepalive-timeout

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 383e186
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 14:46:22 2018 -0600

    Add an e2e test for keepalive timeout updates

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit be67f5b
Author: Nikki Attea <nikki@sensu.io>
Date:   Thu Feb 1 19:06:14 2018 -0600

    Fix the keepalive timeout type, correct a comment and test statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit bbb3f3a
Merge: 8e7bb8f d1deb7d
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 10:12:03 2018 -0500

    Merge pull request #962 from sensu/testing/check-scheduling-refactoring

    Refactoring of check_scheduler_test

commit d1deb7d
Merge: 029cf9c 8e7bb8f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:33:00 2018 -0500

    Merge branch 'master' into testing/check-scheduling-refactoring

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8e7bb8f
Merge: 5d9db4f 4b4b17a
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:31:49 2018 -0500

    Merge pull request #964 from sensu/testing/etcd

    Disable race detector for tests with etcd store

commit 4b4b17a
Merge: bc5ebc9 5d9db4f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:04:23 2018 -0500

    Merge branch 'master' into testing/etcd

commit 5d9db4f
Merge: 3479231 23e2071
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:02:26 2018 -0500

    Merge pull request #965 from sensu/fix-queue-test

    Fixed auto nack test

commit 23e2071
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 16:14:51 2018 -0800

    Appease the linter

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bb85eba
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 15:56:52 2018 -0800

    Rework test to better simulate client crash

    Added context with cancel and then cancel context, queue has default
    timeout of 60 seconds

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 998ceef
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 14:20:34 2018 -0800

    Fixed auto nack test

    Added logic to close client, create a new client and queue, and test
    that the expected value is back in the work queue.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bc5ebc9
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:48:09 2018 -0500

    Mark backend/queue tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 7932cbd
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:47:34 2018 -0500

    Mark backend/etcd tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit aa3d01b
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 14:46:22 2018 -0600

    Add an e2e test for keepalive timeout updates

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 465d89f
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:45:57 2018 -0500

    Explicitly mark which tests should run with race detector

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 24dbd92
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 13:34:01 2018 -0600

    All store/etcd are integration

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 806fca4
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:46:58 2018 -0600

    Revert build tag

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fc77216
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:43:48 2018 -0600

    Add build tag fix to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 9085d71
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:42:06 2018 -0600

    Add !race and integration build tags to etcd tests

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 029cf9c
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 13:34:35 2018 -0500

    Add check scheduling refactoring to changelog

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 80f4ad0
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 18:10:21 2018 -0500

    Refactoring of check_scheduler_test

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit e39c65c
Author: Nikki Attea <nikki@sensu.io>
Date:   Thu Feb 1 19:06:14 2018 -0600

    Fix the keepalive timeout type, correct a comment and test statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 3479231
Merge: f913cbd c406258
Author: Mercedes Coyle <mercul3s@users.noreply.github.com>
Date:   Thu Feb 1 10:52:21 2018 -0800

    Merge pull request #937 from sensu/durable-queue

    Durable queue

commit f913cbd
Merge: b0baca8 3b3c24c
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Thu Feb 1 13:22:03 2018 -0500

    Merge pull request #957 from sensu/bugfix/check-silencing

    Compare check & entity subscriptions before silencing

commit c406258
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Wed Jan 31 15:55:45 2018 -0800

    Concurrency fixes

    Added locks around transactions
    Terminate goroutine on ack/nack or context cancelation

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit a1e16be
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Tue Jan 30 16:31:06 2018 -0800

    Avoid race in keepalive

    Added mutex to item so key updates are locked, updated timestamps to be
    consistent time.Time values, un-exported queue lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 6b99d48
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Sat Jan 27 12:26:50 2018 -0800

    Ensure ack or nack can only be called once exclusively

    Added funcs for nacking expired items, getting timestamps from keys, and
    updating the key timestamp, configurable timeout value to Queue

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 1824a32
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 18:42:15 2018 -0800

    Filled out Ack and Nack functions

    Ack now deletes its item, while Nack puts it back in the work queue.
    Now returning nil instead of an empty item struct for better handling.
    Nack does put and delete in one transaction
    Fixed bug in tryDelete where old keyname would be returned

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit eea7e1f
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 13:07:22 2018 -0800

    Added inflight lane and put operation to dequeue

    Dequeue now adds the item to inflight and deletes it from the work queue
    in a multi op transaction.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    WIP queue durability

    Added data structure and methods for item
    Added work and in flight lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit b0baca8
Merge: 69988cf d8da7b7
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Thu Feb 1 09:53:14 2018 -0800

    Merge pull request #952 from sensu/concurrency/ring-ownership

    Add ownership concept to the Ring.

commit d8da7b7
Author: Eric Chlebek <eric@sensu.io>
Date:   Tue Jan 30 14:32:22 2018 -0800

    Add ownership concept to the Ring.

    * Adding ring items implicitly tracks ownership by backends.
    * Only the backend that added an item can retrieve it via Next().
    * A backend can transfer ownership of an item to itself with Add().

    This commit provides a way to disambiguate relationships between
    backends and agents, when the ring is used by schedulerd. When a
    client receives a value via Next(), the client knows for a fact
    that the value is one placed there by them.

    The order of the Ring is maintained throughout, by making Next
    block until it has an item that it is allowed to consume.

    If a client and backend go offline and never come back, an orphaned
    element is left in the ring. These are reclaimed by lease
    expirations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 3b3c24c
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:10:40 2018 -0500

    Add changelog entry for event silencing bugfix

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8aeece9
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:00:58 2018 -0500

    Compare check & entity subscriptions before silencing

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 69988cf
Merge: a9d0d3b b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 19:30:16 2018 -0600

    Merge pull request #956 from sensu/bugfix/process-timer

    [Bugfix] Stop timer if process exits before timeout is exceeded

commit b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:30:24 2018 -0600

    Use params properly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 0de6e6a
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:14:55 2018 -0600

    Correct type

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 885f6a9
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:49:09 2018 -0600

    Add timeout test cases executeCheck

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fedcc6e
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:39:56 2018 -0600

    Stop timer if process exits before timeout

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit a9d0d3b
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:36:49 2018 -0600

    Replace array with map and mutex for in-progress checks (#953)

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Squashed commit of the following:

    commit fb16820
    Merge: a71b752 d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:14:46 2018 -0600

        Merge branch 'bugfix/checks-in-progress' of https://github.com/sensu/sensu-go into bugfix/checks-in-progress

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit a71b752
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 259aca6
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit f585f63
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Wed Jan 31 15:02:17 2018 -0500

        Fix and add integration tests to our CI

        * Fix and add integration tests to our CI

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 1229beb
    Merge: 09b7c95 e0d5564
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Wed Jan 31 11:31:03 2018 -0800

        Merge pull request #954 from sensu/bugfix/leader-atomics

        Ensure atomic fields are 8-byte aligned.

    commit e0d5564
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Wed Jan 31 10:19:07 2018 -0800

        Ensure atomic fields are 8-byte aligned.

        This is necessary for 32-bit x86 and ARM when performing atomic
        operations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit a2c1862
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 09b7c95
    Merge: bad2890 bb7d080
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:07 2018 -0500

        Merge pull request #950 from sensu/testing/proxy-requests

        Add e2e test for proxy check requests

    commit bb7d080
    Merge: 5aa5359 bad2890
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:00 2018 -0500

        Merge branch 'master' into testing/proxy-requests

    commit bad2890
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 16:19:45 2018 -0500

        Bumped version to v2.0.0-alpha.15-1

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit f0f250e
    Merge: 67e9871 c49a109
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:49:31 2018 -0800

        Merge pull request #948 from sensu/web/quicknav

        [Web] Quick Nav Implementation

    commit c49a109
    Merge: fa002d4 67e9871
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:48:48 2018 -0800

        Merge branch 'master' into web/quicknav

    commit fa002d4
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 11:45:27 2018 -0800

        Wrap up changes to converting IconButton to Link

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit a1243d5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 09:37:11 2018 -0800

        Add TODOs and use theme colour when possible

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 5aa5359
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 10:44:35 2018 -0500

        Add e2e test for proxy check requests

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 15a20eb
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:32:47 2018 -0800

        Update changelog

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit ccd3148
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:03:15 2018 -0800

        Update package.json with classnames dependency for quick nav

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit cbbac90
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 17:26:44 2018 -0800

        Finish quick nav implementation and clean up

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit f1df0ec
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:47:29 2018 -0800

        Quick nav padding and coour adjustments

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 6cb0d9e
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:16:39 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 0213823
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Fri Jan 26 14:52:22 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 120abc5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Thu Jan 25 17:55:48 2018 -0800

        Initial steps for quick nav component

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve merge conflict

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve interface error

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Remove ineffectual statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * 4th check is unnecessary, add comments

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Unit test rather than integration test, modify in progress checks directly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f585f63
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Wed Jan 31 15:02:17 2018 -0500

    Fix and add integration tests to our CI

    * Fix and add integration tests to our CI

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 1229beb
Merge: 09b7c95 e0d5564
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Wed Jan 31 11:31:03 2018 -0800

    Merge pull request #954 from sensu/bugfix/leader-atomics

    Ensure atomic fields are 8-byte aligned.

commit e0d5564
Author: Eric Chlebek <eric@sensu.io>
Date:   Wed Jan 31 10:19:07 2018 -0800

    Ensure atomic fields are 8-byte aligned.

    This is necessary for 32-bit x86 and ARM when performing atomic
    operations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 09b7c95
Merge: bad2890 bb7d080
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:07 2018 -0500

    Merge pull request #950 from sensu/testing/proxy-requests

    Add e2e test for proxy check requests

commit bb7d080
Merge: 5aa5359 bad2890
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:00 2018 -0500

    Merge branch 'master' into testing/proxy-requests

commit bad2890
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 16:19:45 2018 -0500

    Bumped version to v2.0.0-alpha.15-1

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit f0f250e
Merge: 67e9871 c49a109
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:49:31 2018 -0800

    Merge pull request #948 from sensu/web/quicknav

    [Web] Quick Nav Implementation

commit c49a109
Merge: fa002d4 67e9871
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:48:48 2018 -0800

    Merge branch 'master' into web/quicknav

commit fa002d4
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 11:45:27 2018 -0800

    Wrap up changes to converting IconButton to Link

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 67e9871
Merge: 735e396 8ae0fe0
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Tue Jan 30 11:40:49 2018 -0800

    Merge pull request #947 from sensu/concurrency/ring-peek

    Add Peek method to Ring.

commit a1243d5
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 09:37:11 2018 -0800

    Add TODOs and use theme colour when possible

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 5aa5359
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 10:44:35 2018 -0500

    Add e2e test for proxy check requests

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 735e396
Merge: 44cc345 e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:30:03 2018 -0600

    Merge pull request #944 from sensu/feature/proxy-requests

    Publish Proxy Check Requests

commit e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:09:39 2018 -0600

    Log statement if no entities match

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 15a20eb
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:32:47 2018 -0800

    Update changelog

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 717b5a7
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 20:15:27 2018 -0600

    Only replace \" if contained within {{ }}, add test cases

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit ccd3148
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:03:15 2018 -0800

    Update package.json with classnames dependency for quick nav

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit cbbac90
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 17:26:44 2018 -0800

    Finish quick nav implementation and clean up

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit f1df0ec
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:47:29 2018 -0800

    Quick nav padding and coour adjustments

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 6cb0d9e
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:16:39 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 0213823
Author: Melissa P <73hl10n@gmail.com>
Date:   Fri Jan 26 14:52:22 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 120abc5
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Jan 25 17:55:48 2018 -0800

    Initial steps for quick nav component

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 44cc345
Author: Greg Poirier <grep@binary-snobbery.com>
Date:   Mon Jan 29 13:45:16 2018 -0800

    Cron and Interval check scheduling are now mutually exclusive (#941)

    * Cron and Interval check scheduling are now mutually exclusive

    Signed-off-by: Greg Poirier <greg.istehbest@gmail.com>

commit 8ae0fe0
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 13:11:27 2018 -0800

    Add Peek method to Ring.

    Peek can be used by clients that wish to know what's next in the
    ring, but don't wish to advance the iteration.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 779b7a1
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 10:41:39 2018 -0800

    Don't use -v for tests.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 9477219
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 12:56:42 2018 -0600

    Publish proxy check requests to entities if applicable, add remove-proxy-requests cli command, refactor funcs to util/eval

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 40bc256
Merge: 1e0a122 106439c
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Mon Jan 29 10:30:25 2018 -0800

    Merge pull request #908 from sensu/concurrency/leader

    Add package leader.

commit 106439c
Author: Eric Chlebek <eric@sensu.io>
Date:   Thu Jan 18 15:35:27 2018 -0800

    Add package leader.

    Package leader provides the Do function, which allows package
    users to execute functions exclusively from the leader node.
    The leader package uses etcd elections to achieve this.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 1e0a122
Merge: f779c75 d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 14:08:03 2018 -0800

    Merge pull request #936 from sensu/dashboard-cleanup

    [Web] Housekeeping

commit d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:40:53 2018 -0800

    [Web] Fix gutters on AppBar

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit aea7e13
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:29:05 2018 -0800

    [Web] Remove avatar from toolbar; move logout to drawer

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0fee12b
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:37:46 2018 -0800

    [Web] Update lint-staged

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 40c5b33
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:30:11 2018 -0800

    [Web] Update react & friends

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0acc324
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:13:02 2018 -0800

    [Web] Update eslint packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 6a74cae
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:44:34 2018 -0800

    [Web] Update babel packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit a3baf90
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:34:55 2018 -0800

    [Web] Update react-dev-utils package

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 309fcda
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:19:20 2018 -0800

    [Web] Update material-ui to latest for style improvements

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit e7cb685
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Thu Jan 25 13:02:05 2018 -0800

    [GraphQL] Fixup issue with pagination

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Set keepalive interval to 1

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Set keepalive interval for all e2e tests, since it is no longer automatically set to 1

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Assign empty values a default in process_test

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Catch edge case if existing monitor timer is still in progress

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Return default timeout for MockMonitor

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Don't loop through events, just search for one

Signed-off-by: Nikki Attea <nikki@sensu.io>
nikkictl pushed a commit that referenced this pull request Feb 6, 2018
Nikki Attea
* Change uppercase confirm delete to y/N

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Appease the linter, return false if error/interrupt

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Add cli change to changelog

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Change uppercase confirm delete to y/N

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Appease the linter, return false if error/interrupt

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Add cli change to changelog

Signed-off-by: Nikki Attea <nikki@sensu.io>

* Squashed commit of the following:

commit 1dffad9
Merge: ac30441 3b866dc
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Feb 5 09:56:04 2018 -0600

    Merge branch 'bugfix/confirm-delete' of https://github.com/sensu/sensu-go into bugfix/confirm-delete

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit ac30441
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:12:08 2018 -0600

    Add cli change to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f33812c
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:06:57 2018 -0600

    Appease the linter, return false if error/interrupt

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit bd92e0e
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:02:46 2018 -0600

    Change uppercase confirm delete to y/N

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit bbb3f3a
Merge: 8e7bb8f d1deb7d
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 10:12:03 2018 -0500

    Merge pull request #962 from sensu/testing/check-scheduling-refactoring

    Refactoring of check_scheduler_test

commit d1deb7d
Merge: 029cf9c 8e7bb8f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:33:00 2018 -0500

    Merge branch 'master' into testing/check-scheduling-refactoring

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8e7bb8f
Merge: 5d9db4f 4b4b17a
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:31:49 2018 -0500

    Merge pull request #964 from sensu/testing/etcd

    Disable race detector for tests with etcd store

commit 4b4b17a
Merge: bc5ebc9 5d9db4f
Author: Simon Plourde <simon@sensu.io>
Date:   Mon Feb 5 09:04:23 2018 -0500

    Merge branch 'master' into testing/etcd

commit 5d9db4f
Merge: 3479231 23e2071
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Mon Feb 5 09:02:26 2018 -0500

    Merge pull request #965 from sensu/fix-queue-test

    Fixed auto nack test

commit 23e2071
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 16:14:51 2018 -0800

    Appease the linter

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bb85eba
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 15:56:52 2018 -0800

    Rework test to better simulate client crash

    Added context with cancel and then cancel context, queue has default
    timeout of 60 seconds

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 998ceef
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Fri Feb 2 14:20:34 2018 -0800

    Fixed auto nack test

    Added logic to close client, create a new client and queue, and test
    that the expected value is back in the work queue.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit bc5ebc9
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:48:09 2018 -0500

    Mark backend/queue tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 7932cbd
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:47:34 2018 -0500

    Mark backend/etcd tests as integration

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 465d89f
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 15:45:57 2018 -0500

    Explicitly mark which tests should run with race detector

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 24dbd92
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 13:34:01 2018 -0600

    All store/etcd are integration

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 806fca4
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:46:58 2018 -0600

    Revert build tag

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fc77216
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:43:48 2018 -0600

    Add build tag fix to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 9085d71
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:42:06 2018 -0600

    Add !race and integration build tags to etcd tests

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 029cf9c
Author: Simon Plourde <simon@sensu.io>
Date:   Fri Feb 2 13:34:35 2018 -0500

    Add check scheduling refactoring to changelog

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 80f4ad0
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 18:10:21 2018 -0500

    Refactoring of check_scheduler_test

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 3b866dc
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:12:08 2018 -0600

    Add cli change to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 59e7d53
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:06:57 2018 -0600

    Appease the linter, return false if error/interrupt

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 111f4bf
Author: Nikki Attea <nikki@sensu.io>
Date:   Fri Feb 2 12:02:46 2018 -0600

    Change uppercase confirm delete to y/N

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 3479231
Merge: f913cbd c406258
Author: Mercedes Coyle <mercul3s@users.noreply.github.com>
Date:   Thu Feb 1 10:52:21 2018 -0800

    Merge pull request #937 from sensu/durable-queue

    Durable queue

commit f913cbd
Merge: b0baca8 3b3c24c
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Thu Feb 1 13:22:03 2018 -0500

    Merge pull request #957 from sensu/bugfix/check-silencing

    Compare check & entity subscriptions before silencing

commit c406258
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Wed Jan 31 15:55:45 2018 -0800

    Concurrency fixes

    Added locks around transactions
    Terminate goroutine on ack/nack or context cancelation

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit a1e16be
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Tue Jan 30 16:31:06 2018 -0800

    Avoid race in keepalive

    Added mutex to item so key updates are locked, updated timestamps to be
    consistent time.Time values, un-exported queue lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 6b99d48
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Sat Jan 27 12:26:50 2018 -0800

    Ensure ack or nack can only be called once exclusively

    Added funcs for nacking expired items, getting timestamps from keys, and
    updating the key timestamp, configurable timeout value to Queue

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit 1824a32
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 18:42:15 2018 -0800

    Filled out Ack and Nack functions

    Ack now deletes its item, while Nack puts it back in the work queue.
    Now returning nil instead of an empty item struct for better handling.
    Nack does put and delete in one transaction
    Fixed bug in tryDelete where old keyname would be returned

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit eea7e1f
Author: Mercedes Coyle <mercedes@sensu.io>
Date:   Thu Jan 25 13:07:22 2018 -0800

    Added inflight lane and put operation to dequeue

    Dequeue now adds the item to inflight and deletes it from the work queue
    in a multi op transaction.

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    WIP queue durability

    Added data structure and methods for item
    Added work and in flight lanes

    Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

commit b0baca8
Merge: 69988cf d8da7b7
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Thu Feb 1 09:53:14 2018 -0800

    Merge pull request #952 from sensu/concurrency/ring-ownership

    Add ownership concept to the Ring.

commit d8da7b7
Author: Eric Chlebek <eric@sensu.io>
Date:   Tue Jan 30 14:32:22 2018 -0800

    Add ownership concept to the Ring.

    * Adding ring items implicitly tracks ownership by backends.
    * Only the backend that added an item can retrieve it via Next().
    * A backend can transfer ownership of an item to itself with Add().

    This commit provides a way to disambiguate relationships between
    backends and agents, when the ring is used by schedulerd. When a
    client receives a value via Next(), the client knows for a fact
    that the value is one placed there by them.

    The order of the Ring is maintained throughout, by making Next
    block until it has an item that it is allowed to consume.

    If a client and backend go offline and never come back, an orphaned
    element is left in the ring. These are reclaimed by lease
    expirations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 3b3c24c
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:10:40 2018 -0500

    Add changelog entry for event silencing bugfix

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 8aeece9
Author: Simon Plourde <simon@sensu.io>
Date:   Thu Feb 1 12:00:58 2018 -0500

    Compare check & entity subscriptions before silencing

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 69988cf
Merge: a9d0d3b b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 19:30:16 2018 -0600

    Merge pull request #956 from sensu/bugfix/process-timer

    [Bugfix] Stop timer if process exits before timeout is exceeded

commit b91c5f2
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:30:24 2018 -0600

    Use params properly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 0de6e6a
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 18:14:55 2018 -0600

    Correct type

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 885f6a9
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:49:09 2018 -0600

    Add timeout test cases executeCheck

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit fedcc6e
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:39:56 2018 -0600

    Stop timer if process exits before timeout

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit a9d0d3b
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Jan 31 17:36:49 2018 -0600

    Replace array with map and mutex for in-progress checks (#953)

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Replace array with map for in progress checks, use mutex

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Make inProgress and mutex properties of agent, resolve data race in test

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Squashed commit of the following:

    commit fb16820
    Merge: a71b752 d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:14:46 2018 -0600

        Merge branch 'bugfix/checks-in-progress' of https://github.com/sensu/sensu-go into bugfix/checks-in-progress

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit a71b752
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 259aca6
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit d356774
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 14:13:15 2018 -0600

        Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit f585f63
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Wed Jan 31 15:02:17 2018 -0500

        Fix and add integration tests to our CI

        * Fix and add integration tests to our CI

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 1229beb
    Merge: 09b7c95 e0d5564
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Wed Jan 31 11:31:03 2018 -0800

        Merge pull request #954 from sensu/bugfix/leader-atomics

        Ensure atomic fields are 8-byte aligned.

    commit e0d5564
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Wed Jan 31 10:19:07 2018 -0800

        Ensure atomic fields are 8-byte aligned.

        This is necessary for 32-bit x86 and ARM when performing atomic
        operations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit a2c1862
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 16:40:30 2018 -0600

        Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 09b7c95
    Merge: bad2890 bb7d080
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:07 2018 -0500

        Merge pull request #950 from sensu/testing/proxy-requests

        Add e2e test for proxy check requests

    commit bb7d080
    Merge: 5aa5359 bad2890
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:00 2018 -0500

        Merge branch 'master' into testing/proxy-requests

    commit bad2890
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 16:19:45 2018 -0500

        Bumped version to v2.0.0-alpha.15-1

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit f0f250e
    Merge: 67e9871 c49a109
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:49:31 2018 -0800

        Merge pull request #948 from sensu/web/quicknav

        [Web] Quick Nav Implementation

    commit c49a109
    Merge: fa002d4 67e9871
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:48:48 2018 -0800

        Merge branch 'master' into web/quicknav

    commit fa002d4
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 11:45:27 2018 -0800

        Wrap up changes to converting IconButton to Link

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit a1243d5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 09:37:11 2018 -0800

        Add TODOs and use theme colour when possible

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 5aa5359
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 10:44:35 2018 -0500

        Add e2e test for proxy check requests

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 15a20eb
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:32:47 2018 -0800

        Update changelog

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit ccd3148
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:03:15 2018 -0800

        Update package.json with classnames dependency for quick nav

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit cbbac90
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 17:26:44 2018 -0800

        Finish quick nav implementation and clean up

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit f1df0ec
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:47:29 2018 -0800

        Quick nav padding and coour adjustments

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 6cb0d9e
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:16:39 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 0213823
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Fri Jan 26 14:52:22 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 120abc5
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Thu Jan 25 17:55:48 2018 -0800

        Initial steps for quick nav component

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve merge conflict

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Resolve interface error

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Remove ineffectual statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * 4th check is unnecessary, add comments

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Unit test rather than integration test, modify in progress checks directly

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f585f63
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Wed Jan 31 15:02:17 2018 -0500

    Fix and add integration tests to our CI

    * Fix and add integration tests to our CI

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 1229beb
Merge: 09b7c95 e0d5564
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Wed Jan 31 11:31:03 2018 -0800

    Merge pull request #954 from sensu/bugfix/leader-atomics

    Ensure atomic fields are 8-byte aligned.

commit e0d5564
Author: Eric Chlebek <eric@sensu.io>
Date:   Wed Jan 31 10:19:07 2018 -0800

    Ensure atomic fields are 8-byte aligned.

    This is necessary for 32-bit x86 and ARM when performing atomic
    operations.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 09b7c95
Merge: bad2890 bb7d080
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:07 2018 -0500

    Merge pull request #950 from sensu/testing/proxy-requests

    Add e2e test for proxy check requests

commit bb7d080
Merge: 5aa5359 bad2890
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Jan 30 17:36:00 2018 -0500

    Merge branch 'master' into testing/proxy-requests

commit bad2890
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 16:19:45 2018 -0500

    Bumped version to v2.0.0-alpha.15-1

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit f0f250e
Merge: 67e9871 c49a109
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:49:31 2018 -0800

    Merge pull request #948 from sensu/web/quicknav

    [Web] Quick Nav Implementation

commit c49a109
Merge: fa002d4 67e9871
Author: Melissa Page <73hl10n@gmail.com>
Date:   Tue Jan 30 12:48:48 2018 -0800

    Merge branch 'master' into web/quicknav

commit fa002d4
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 11:45:27 2018 -0800

    Wrap up changes to converting IconButton to Link

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 67e9871
Merge: 735e396 8ae0fe0
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Tue Jan 30 11:40:49 2018 -0800

    Merge pull request #947 from sensu/concurrency/ring-peek

    Add Peek method to Ring.

commit a1243d5
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Jan 30 09:37:11 2018 -0800

    Add TODOs and use theme colour when possible

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 5aa5359
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Jan 30 10:44:35 2018 -0500

    Add e2e test for proxy check requests

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 735e396
Merge: 44cc345 e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:30:03 2018 -0600

    Merge pull request #944 from sensu/feature/proxy-requests

    Publish Proxy Check Requests

commit e895678
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Jan 30 10:09:39 2018 -0600

    Log statement if no entities match

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 15a20eb
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:32:47 2018 -0800

    Update changelog

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 717b5a7
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 20:15:27 2018 -0600

    Only replace \" if contained within {{ }}, add test cases

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit ccd3148
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 18:03:15 2018 -0800

    Update package.json with classnames dependency for quick nav

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit cbbac90
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 17:26:44 2018 -0800

    Finish quick nav implementation and clean up

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit f1df0ec
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:47:29 2018 -0800

    Quick nav padding and coour adjustments

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 6cb0d9e
Author: Melissa P <73hl10n@gmail.com>
Date:   Mon Jan 29 15:16:39 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 0213823
Author: Melissa P <73hl10n@gmail.com>
Date:   Fri Jan 26 14:52:22 2018 -0800

    Quick nav improvements

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 120abc5
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Jan 25 17:55:48 2018 -0800

    Initial steps for quick nav component

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 44cc345
Author: Greg Poirier <grep@binary-snobbery.com>
Date:   Mon Jan 29 13:45:16 2018 -0800

    Cron and Interval check scheduling are now mutually exclusive (#941)

    * Cron and Interval check scheduling are now mutually exclusive

    Signed-off-by: Greg Poirier <greg.istehbest@gmail.com>

commit 8ae0fe0
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 13:11:27 2018 -0800

    Add Peek method to Ring.

    Peek can be used by clients that wish to know what's next in the
    ring, but don't wish to advance the iteration.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 779b7a1
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Jan 29 10:41:39 2018 -0800

    Don't use -v for tests.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 9477219
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Jan 29 12:56:42 2018 -0600

    Publish proxy check requests to entities if applicable, add remove-proxy-requests cli command, refactor funcs to util/eval

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 40bc256
Merge: 1e0a122 106439c
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Mon Jan 29 10:30:25 2018 -0800

    Merge pull request #908 from sensu/concurrency/leader

    Add package leader.

commit 106439c
Author: Eric Chlebek <eric@sensu.io>
Date:   Thu Jan 18 15:35:27 2018 -0800

    Add package leader.

    Package leader provides the Do function, which allows package
    users to execute functions exclusively from the leader node.
    The leader package uses etcd elections to achieve this.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 1e0a122
Merge: f779c75 d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 14:08:03 2018 -0800

    Merge pull request #936 from sensu/dashboard-cleanup

    [Web] Housekeeping

commit f779c75
Merge: 498e09f 7939762
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Fri Jan 26 13:53:15 2018 -0800

    Merge pull request #930 from sensu/concurrency/etcd-ring

    Add etcd ring data structure.

commit 7939762
Author: Eric Chlebek <eric@sensu.io>
Date:   Fri Jan 26 10:47:04 2018 -0800

    Fix lint and Getter interface.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit dd9013c
Author: Eric Chlebek <eric@sensu.io>
Date:   Thu Jan 25 14:45:40 2018 -0800

    Ensure value is not already present on Add.

    This commit fixes a but in the ring data structure where
    duplicates could be added if the added value is already present.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 2951c11
Author: Eric Chlebek <eric@sensu.io>
Date:   Wed Jan 24 15:24:39 2018 -0800

    Add etcd ring data structure.

    Ring is a data structure that cycles through its values with every
    call to Next. The values can be added or removed concurrently with
    calls to Next.

    Ring will be used for round-robin scheduling.

    Closes #925

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit d915f19
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:40:53 2018 -0800

    [Web] Fix gutters on AppBar

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit aea7e13
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 04:29:05 2018 -0800

    [Web] Remove avatar from toolbar; move logout to drawer

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0fee12b
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:37:46 2018 -0800

    [Web] Update lint-staged

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 40c5b33
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:30:11 2018 -0800

    [Web] Update react & friends

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 0acc324
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 03:13:02 2018 -0800

    [Web] Update eslint packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 6a74cae
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:44:34 2018 -0800

    [Web] Update babel packages

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit a3baf90
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:34:55 2018 -0800

    [Web] Update react-dev-utils package

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 309fcda
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Jan 26 02:19:20 2018 -0800

    [Web] Update material-ui to latest for style improvements

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit e7cb685
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Thu Jan 25 13:02:05 2018 -0800

    [GraphQL] Fixup issue with pagination

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

Signed-off-by: Nikki Attea <nikki@sensu.io>
nikkictl pushed a commit that referenced this pull request Feb 7, 2018
commit f1cd683591d0f0afce081992ee320b4c10fc7582
Merge: 75393a99 a397aa38
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Feb 7 11:46:30 2018 -0600

    Merge branch 'feature/silenced-time-cli' of https://github.com/sensu/sensu-go into feature/silenced-time-cli

commit 75393a99ea073b64dd6107ffcbaefdbd81863fc7
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Feb 7 11:46:19 2018 -0600

    Move changelog to unreleased

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 6b05cbbc7b266fb582030e7b277f4a5ace93da32
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Feb 7 08:25:50 2018 -0600

    Move time helper funcs to timeutil package

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit c4bcb6f1e4b690e3b8b82c117196114d05146e73
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Feb 6 14:37:48 2018 -0600

    Update test flags, be able to zero out begin time

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 37da706af909aed2b39a8727e075a3004225dc27
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Feb 6 14:17:31 2018 -0600

    Support human readable time for silenced begin in CLI and convert to unix epoch time utc

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit b9eb5a837ddb13145fe5a6319ecd2481cb7cfd1f
Merge: cc71a177 91b09ea7
Author: Justin Kolberg <amd.prophet@gmail.com>
Date:   Wed Feb 7 09:28:37 2018 -0800

    Merge pull request #978 from sensu/web/contextswitcher

    [Web] Context Switcher

commit cc71a1773bf12731f4a21872520cb554eab2b735
Author: Simon Plourde <simon@sensu.io>
Date:   Wed Feb 7 11:54:51 2018 -0500

    Bumped version to 2.0.0-alpha.16-1

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit a397aa382d84d8df7e508495ffa9d0ebed44eb5c
Author: Nikki Attea <nikki@sensu.io>
Date:   Wed Feb 7 08:25:50 2018 -0600

    Move time helper funcs to timeutil package

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 557b5c1b020c647206ebce3315a5581de20d916c
Merge: ead08fb6 4f303f7e
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Feb 6 18:10:35 2018 -0500

    Merge pull request #981 from sensu/update-godep

    Remove github.com/chzyer/readline dependency

commit 4f303f7ed88923883191cb8d333159ebf562f1f1
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 16:17:45 2018 -0500

    Add changelog entry for readline dependency

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit cd1dd93d7f510899b53ba1543cf635eda66a4369
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 16:13:40 2018 -0500

    Remove github.com/chzyer/readline dependency

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit ead08fb6325ed9ffe7aafd89b3adf06aa7f05534
Merge: 262d9bb6 f4f3c876
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Tue Feb 6 13:06:20 2018 -0800

    Merge pull request #971 from sensu/bugfix/monitor-race

    Fix a race condition in Monitor.

commit 262d9bb689e4e2eeab6209ed181e371294210b64
Author: Eric Chlebek <eric@sensu.io>
Date:   Tue Feb 6 13:03:37 2018 -0800

    Poll Rings every second in case watch events are not fired.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 7107e09a46ff45755b815d0e33cc967d23cdbbb8
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Feb 6 14:37:48 2018 -0600

    Update test flags, be able to zero out begin time

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 66c9471dfd905e9812c2bd0a4fb5a69fe4921b90
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Feb 6 14:17:31 2018 -0600

    Support human readable time for silenced begin in CLI and convert to unix epoch time utc

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit f4f3c876e4a18f05589d13d6ce4210f071d8ff2e
Author: Eric Chlebek <eric@sensu.io>
Date:   Mon Feb 5 13:51:06 2018 -0800

    Fix a race condition in Monitor.

    Although all operations in the Monitor were atomic, a race could
    result in a send on a closed channel. Adding a mutex fixes the
    problem.

    This problem was observed while implementing an e2e test for
    round-robin scheduling.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit 91b09ea79099fb04212e43af0402de3f8aa3dd3b
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Feb 6 10:30:55 2018 -0800

    Added a redirect for index

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 0c797ecf7a09665241d4c800842746e53dfd5980
Merge: b075f99e e50fd2f9
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Feb 6 13:23:49 2018 -0500

    Merge pull request #976 from sensu/bugfix/ring-tests-timeout

    Prevent tests timeout in ring package

commit 4580828538f9c46094e011dc6e640f91f979b8c4
Author: Melissa P <73hl10n@gmail.com>
Date:   Tue Feb 6 10:01:58 2018 -0800

    Added changedlog entry for dashboard context switcher

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit f33c340359a6e97bde2700379bb0ef836b86bba2
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Mon Feb 5 16:59:38 2018 -0800

    [Web] Replace organization icon default

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 7952c3e70b9ee0d4a804d8c1202338503675a146
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Mon Feb 5 16:54:17 2018 -0800

    [Web] Re-implemented drawer links

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 76bfe6bb1fcd151b39ce8e0178495107378b5fa7
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Mon Feb 5 16:23:06 2018 -0800

    [Web] Implement namespace switcher

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 03f7270a070d8bb3933155d8df9e926fcc06dd0a
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Mon Feb 5 10:46:29 2018 -0800

    [Web] Move drawer header into it's own component

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 8d6690a8042039846389239274cc5e0d6047b716
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Sat Feb 3 23:23:01 2018 -0800

    [Web] Include namespace in URL

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 2dc2c676b993083fb978f298b05abbbdbc179dbd
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Feb 2 02:43:35 2018 -0800

    [Web] Query viewer's organizations

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 51153f08bc483f08be6d8299db4367d7e1e95a24
Author: James Phillips <jamesdphillips@gmail.com>
Date:   Fri Feb 2 01:50:02 2018 -0800

    [Web] Tweak Environment Icon component

    Signed-off-by: James Phillips <jamesdphillips@gmail.com>

commit 5fae1efe99165a17fbbc07e4403e1c9fdc9119f5
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Feb 1 13:23:40 2018 -0800

    Basically finalize positioning of drawer items

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit ad4db04c31852aa76133b83fe403c8213d81a33d
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Feb 1 12:57:31 2018 -0800

    Make organization icon take a size prop

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 0cc00d880059d83c195b5f50c9d3658412c283a7
Author: Melissa P <73hl10n@gmail.com>
Date:   Thu Feb 1 11:54:59 2018 -0800

    Add namespace label for drawer. Align the content in the drawer header

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 7035e857620850065c956e772f7531d372fa3f25
Author: Melissa P <73hl10n@gmail.com>
Date:   Wed Jan 31 16:42:26 2018 -0800

    Inital rework of drawer

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 10d1b60d394b9302aa77213e79a15208bd57349c
Author: Melissa P <73hl10n@gmail.com>
Date:   Wed Jan 31 12:59:36 2018 -0800

    Build component for Organization icon, takes input for env colour

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit 407014e157b0c025eed18939e5e4253850a252b8
Author: Melissa P <73hl10n@gmail.com>
Date:   Wed Jan 31 10:15:12 2018 -0800

    Build namespace label and namespace builder for nav

    Signed-off-by: Melissa P <73hl10n@gmail.com>

commit e50fd2f9b4a4d90db8d86f319e62257fb86c72cb
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 12:29:56 2018 -0500

    Add changelog entry for ring tests timeout

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 4cdca8e2bb99b7437f61a6326defdec477180b26
Merge: 3ef4d805 b075f99e
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 12:29:29 2018 -0500

    Merge branch 'master' into bugfix/ring-tests-timeout

commit b075f99e73aabecb657fc2cb14253b9133621892
Merge: 216efa2c 6e1d4abb
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Feb 6 12:28:54 2018 -0500

    Merge pull request #974 from sensu/bugfix/queue-tests-timeout

    Prevent tests timeout in queue package

commit 6e1d4abbf262ddc3ff660af9a8bb6535627f5d6e
Merge: b5cee4c9 216efa2c
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Feb 6 12:28:47 2018 -0500

    Merge branch 'master' into bugfix/queue-tests-timeout

commit 3ef4d80507c6189ac4d2cc181545dd660edb0084
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 12:28:22 2018 -0500

    Prevent tests timeout in ring package

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 216efa2c1c5336802b74cf6c8dd7394de9c5488e
Merge: 3dc9b058 14b37274
Author: Eric Chlebek <echlebek@gmail.com>
Date:   Tue Feb 6 09:17:51 2018 -0800

    Merge pull request #975 from sensu/bugfix/queue-key

    Don't use bytes.Split for parsing item timestamps.

commit 14b372742b46eee7d49306790cb3ae736b837214
Author: Eric Chlebek <eric@sensu.io>
Date:   Tue Feb 6 08:37:37 2018 -0800

    Don't use bytes.Split for parsing item timestamps.

    Because item timestamps are always 8 bytes, we can simply slice off
    the last 8 bytes of the key to get the timestamp. This prevents
    an issue with Split where '/' was part of the timestamp.

    Signed-off-by: Eric Chlebek <eric@sensu.io>

commit b5cee4c923f07698e2d3abe117bb1fb0f0b4892a
Merge: 9fb50796 0c510cf8
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 11:40:04 2018 -0500

    Merge branch 'bugfix/queue-tests-timeout' of https://github.com/sensu/sensu-go into bugfix/queue-tests-timeout

commit 9fb5079683d3e3568fbc3f5aef5ce786e4040b8b
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 11:39:44 2018 -0500

    Prevent data races in queue tests

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 0c510cf8945081eccb597d71dbb92140142106fb
Merge: 6e9e02a1 3dc9b058
Author: Simon Plourde <simon.plourde@gmail.com>
Date:   Tue Feb 6 11:26:39 2018 -0500

    Merge branch 'master' into bugfix/queue-tests-timeout

commit 6e9e02a12860612a0b5b40f8bb35957c6dcfa24e
Author: Simon Plourde <simon@sensu.io>
Date:   Tue Feb 6 11:23:13 2018 -0500

    Prevent tests timeout in queue package

    Signed-off-by: Simon Plourde <simon@sensu.io>

commit 3dc9b0580e6aed514327ab4a79a2cbcb31a87869
Author: Nikki Attea <nikki@sensu.io>
Date:   Tue Feb 6 10:09:52 2018 -0600

    Bugfix/confirm delete (#961)

    * Change uppercase confirm delete to y/N

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Appease the linter, return false if error/interrupt

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Add cli change to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Change uppercase confirm delete to y/N

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Appease the linter, return false if error/interrupt

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Add cli change to changelog

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Squashed commit of the following:

    commit 1dffad9388af24f95afb8e6cc342097c04fcef1b
    Merge: ac304411 3b866dcc
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Mon Feb 5 09:56:04 2018 -0600

        Merge branch 'bugfix/confirm-delete' of https://github.com/sensu/sensu-go into bugfix/confirm-delete

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit ac3044111c2f246896f725474c05f199308c2035
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:12:08 2018 -0600

        Add cli change to changelog

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit f33812c5d88fc68821bc7fb6ac44d6dcc592577e
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:06:57 2018 -0600

        Appease the linter, return false if error/interrupt

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit bd92e0e1a2538bee312934628a148174b4acae7d
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:02:46 2018 -0600

        Change uppercase confirm delete to y/N

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit bbb3f3add6f73ba1bdc5f936589ef97b4fdeb86c
    Merge: 8e7bb8f1 d1deb7d5
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Mon Feb 5 10:12:03 2018 -0500

        Merge pull request #962 from sensu/testing/check-scheduling-refactoring

        Refactoring of check_scheduler_test

    commit d1deb7d5decc8ee6032f80171d9e1433ea38a807
    Merge: 029cf9cf 8e7bb8f1
    Author: Simon Plourde <simon@sensu.io>
    Date:   Mon Feb 5 09:33:00 2018 -0500

        Merge branch 'master' into testing/check-scheduling-refactoring

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 8e7bb8f15c1b647125290377b29642d21006e602
    Merge: 5d9db4f3 4b4b17a6
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Mon Feb 5 09:31:49 2018 -0500

        Merge pull request #964 from sensu/testing/etcd

        Disable race detector for tests with etcd store

    commit 4b4b17a6ac8e5e76110a05f3c67034626e211a1b
    Merge: bc5ebc9d 5d9db4f3
    Author: Simon Plourde <simon@sensu.io>
    Date:   Mon Feb 5 09:04:23 2018 -0500

        Merge branch 'master' into testing/etcd

    commit 5d9db4f3fd6b2973b73aa93b691f11587e2c257c
    Merge: 3479231d 23e20712
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Mon Feb 5 09:02:26 2018 -0500

        Merge pull request #965 from sensu/fix-queue-test

        Fixed auto nack test

    commit 23e2071290fb90704b05ace66a537276f23503a2
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Fri Feb 2 16:14:51 2018 -0800

        Appease the linter

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit bb85eba3e856ecda662fb0f0a834343cea8c4c65
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Fri Feb 2 15:56:52 2018 -0800

        Rework test to better simulate client crash

        Added context with cancel and then cancel context, queue has default
        timeout of 60 seconds

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit 998ceef0b4fa543af3cc2e42a9886c7f9f6ecb2a
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Fri Feb 2 14:20:34 2018 -0800

        Fixed auto nack test

        Added logic to close client, create a new client and queue, and test
        that the expected value is back in the work queue.

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit bc5ebc9dea119f4ee51c36b56e06f131ee9f1416
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 15:48:09 2018 -0500

        Mark backend/queue tests as integration

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 7932cbd50102b686867dda0549006c0b508ec696
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 15:47:34 2018 -0500

        Mark backend/etcd tests as integration

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 465d89fa0d0d695889bf72f918707054c2b00823
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 15:45:57 2018 -0500

        Explicitly mark which tests should run with race detector

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 24dbd92d5d5d612561c24225cd23a517c2092a9a
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 13:34:01 2018 -0600

        All store/etcd are integration

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 806fca43a27727f09a3971c705132cea8ec5a41d
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:46:58 2018 -0600

        Revert build tag

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit fc772167b9e1aea96c11b912e8987f84a3250b92
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:43:48 2018 -0600

        Add build tag fix to changelog

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 9085d71e6cdec150e76a0b9ce3cda6bac1957dc5
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:42:06 2018 -0600

        Add !race and integration build tags to etcd tests

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 029cf9cff364465df0bd97967cbc0b85c155f70b
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 13:34:35 2018 -0500

        Add check scheduling refactoring to changelog

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 80f4ad02a7df17541fb6ea7e4a5099fa53874854
    Author: Simon Plourde <simon@sensu.io>
    Date:   Thu Feb 1 18:10:21 2018 -0500

        Refactoring of check_scheduler_test

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 3b866dccd16dce2fd12240b136a6d4a2d68c0fd1
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:12:08 2018 -0600

        Add cli change to changelog

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 59e7d5381675847bfe20a4ece1ab8b1fd983724e
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:06:57 2018 -0600

        Appease the linter, return false if error/interrupt

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 111f4bf53dd4a5e410bf6aed6a8eeb2369028c6b
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:02:46 2018 -0600

        Change uppercase confirm delete to y/N

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 3479231d67fd06ab5f9af534368e4fda447708f9
    Merge: f913cbd9 c4062587
    Author: Mercedes Coyle <mercul3s@users.noreply.github.com>
    Date:   Thu Feb 1 10:52:21 2018 -0800

        Merge pull request #937 from sensu/durable-queue

        Durable queue

    commit f913cbd9c1ee38154fd7e821d5ea8b5249974c25
    Merge: b0baca85 3b3c24c3
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Thu Feb 1 13:22:03 2018 -0500

        Merge pull request #957 from sensu/bugfix/check-silencing

        Compare check & entity subscriptions before silencing

    commit c4062587a83aa9dbc5ded1b6654934ef70f01a45
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Wed Jan 31 15:55:45 2018 -0800

        Concurrency fixes

        Added locks around transactions
        Terminate goroutine on ack/nack or context cancelation

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit a1e16bebeb7cada0cb6ac4d0d64b207ba757fb35
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Tue Jan 30 16:31:06 2018 -0800

        Avoid race in keepalive

        Added mutex to item so key updates are locked, updated timestamps to be
        consistent time.Time values, un-exported queue lanes

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit 6b99d4808528fd957b392d4a94131e9f863cb530
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Sat Jan 27 12:26:50 2018 -0800

        Ensure ack or nack can only be called once exclusively

        Added funcs for nacking expired items, getting timestamps from keys, and
        updating the key timestamp, configurable timeout value to Queue

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit 1824a322f4f16b93f14203e62be01824dcffbc7f
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Thu Jan 25 18:42:15 2018 -0800

        Filled out Ack and Nack functions

        Ack now deletes its item, while Nack puts it back in the work queue.
        Now returning nil instead of an empty item struct for better handling.
        Nack does put and delete in one transaction
        Fixed bug in tryDelete where old keyname would be returned

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit eea7e1fe42e5a8a711ff0315d3322c65a629b63d
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Thu Jan 25 13:07:22 2018 -0800

        Added inflight lane and put operation to dequeue

        Dequeue now adds the item to inflight and deletes it from the work queue
        in a multi op transaction.

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

        WIP queue durability

        Added data structure and methods for item
        Added work and in flight lanes

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit b0baca8558f9da414a570f5b87192d52d91a8d52
    Merge: 69988cf7 d8da7b75
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Thu Feb 1 09:53:14 2018 -0800

        Merge pull request #952 from sensu/concurrency/ring-ownership

        Add ownership concept to the Ring.

    commit d8da7b750b70c9c7b0399837773b2340bd852f74
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Tue Jan 30 14:32:22 2018 -0800

        Add ownership concept to the Ring.

        * Adding ring items implicitly tracks ownership by backends.
        * Only the backend that added an item can retrieve it via Next().
        * A backend can transfer ownership of an item to itself with Add().

        This commit provides a way to disambiguate relationships between
        backends and agents, when the ring is used by schedulerd. When a
        client receives a value via Next(), the client knows for a fact
        that the value is one placed there by them.

        The order of the Ring is maintained throughout, by making Next
        block until it has an item that it is allowed to consume.

        If a client and backend go offline and never come back, an orphaned
        element is left in the ring. These are reclaimed by lease
        expirations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 3b3c24c34dff34100596118194856140824f33c5
    Author: Simon Plourde <simon@sensu.io>
    Date:   Thu Feb 1 12:10:40 2018 -0500

        Add changelog entry for event silencing bugfix

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 8aeece93ab10e156e01aedf299337ab1674374d2
    Author: Simon Plourde <simon@sensu.io>
    Date:   Thu Feb 1 12:00:58 2018 -0500

        Compare check & entity subscriptions before silencing

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 69988cf71a0d47576441b397d0cb33fd4ecc1a4c
    Merge: a9d0d3b3 b91c5f21
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 19:30:16 2018 -0600

        Merge pull request #956 from sensu/bugfix/process-timer

        [Bugfix] Stop timer if process exits before timeout is exceeded

    commit b91c5f21377e9449d609d01717e4523ed185626c
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 18:30:24 2018 -0600

        Use params properly

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 0de6e6a8fb2d616343774e68424fcc501bf3a2c6
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 18:14:55 2018 -0600

        Correct type

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 885f6a9e6203dc2b493b0b6fbadba1c6a2624b49
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 17:49:09 2018 -0600

        Add timeout test cases executeCheck

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit fedcc6e423d98b75c1c5efc5e7238b32ecf5b2f5
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 17:39:56 2018 -0600

        Stop timer if process exits before timeout

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit a9d0d3b317515d11090a475af72fb700917f231b
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 17:36:49 2018 -0600

        Replace array with map and mutex for in-progress checks (#953)

        * Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Replace array with map for in progress checks, use mutex

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Make inProgress and mutex properties of agent, resolve data race in test

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Squashed commit of the following:

        commit fb168203b5099d205072be8f71b43786473289ec
        Merge: a71b752d d3567745
        Author: Nikki Attea <nikki@sensu.io>
        Date:   Wed Jan 31 14:14:46 2018 -0600

            Merge branch 'bugfix/checks-in-progress' of https://github.com/sensu/sensu-go into bugfix/checks-in-progress

            Signed-off-by: Nikki Attea <nikki@sensu.io>

        commit a71b752d41d8d98cc101627d8abf35587d8d0783
        Author: Nikki Attea <nikki@sensu.io>
        Date:   Wed Jan 31 14:13:15 2018 -0600

            Make inProgress and mutex properties of agent, resolve data race in test

            Signed-off-by: Nikki Attea <nikki@sensu.io>

        commit 259aca666a7a946c6be97c17d96dded456e59f55
        Author: Nikki Attea <nikki@sensu.io>
        Date:   Tue Jan 30 16:40:30 2018 -0600

            Replace array with map for in progress checks, use mutex

            Signed-off-by: Nikki Attea <nikki@sensu.io>

        commit d3567745bb6627755f8c6bc761b2f7aefa0ed16a
        Author: Nikki Attea <nikki@sensu.io>
        Date:   Wed Jan 31 14:13:15 2018 -0600

            Make inProgress and mutex properties of agent, resolve data race in test

            Signed-off-by: Nikki Attea <nikki@sensu.io>

        commit f585f6342b25b3be9ec530c40223dcff2e20c1dc
        Author: Simon Plourde <simon.plourde@gmail.com>
        Date:   Wed Jan 31 15:02:17 2018 -0500

            Fix and add integration tests to our CI

            * Fix and add integration tests to our CI

            Signed-off-by: Simon Plourde <simon@sensu.io>

        commit 1229beb98d92c51a7dc4f8342ef01b16a4d4be16
        Merge: 09b7c95e e0d55648
        Author: Eric Chlebek <echlebek@gmail.com>
        Date:   Wed Jan 31 11:31:03 2018 -0800

            Merge pull request #954 from sensu/bugfix/leader-atomics

            Ensure atomic fields are 8-byte aligned.

        commit e0d556480c29633fbe8b1b55636e5b24c3e7e645
        Author: Eric Chlebek <eric@sensu.io>
        Date:   Wed Jan 31 10:19:07 2018 -0800

            Ensure atomic fields are 8-byte aligned.

            This is necessary for 32-bit x86 and ARM when performing atomic
            operations.

            Signed-off-by: Eric Chlebek <eric@sensu.io>

        commit a2c186227dd4a8f986fe9967f940092bc87a75d8
        Author: Nikki Attea <nikki@sensu.io>
        Date:   Tue Jan 30 16:40:30 2018 -0600

            Replace array with map for in progress checks, use mutex

            Signed-off-by: Nikki Attea <nikki@sensu.io>

        commit 09b7c95e8424803e3c9d75c154f0a49ef813cceb
        Merge: bad28905 bb7d0804
        Author: Simon Plourde <simon.plourde@gmail.com>
        Date:   Tue Jan 30 17:36:07 2018 -0500

            Merge pull request #950 from sensu/testing/proxy-requests

            Add e2e test for proxy check requests

        commit bb7d0804b84479ba46b4973a4da0384d8b0fbb28
        Merge: 5aa53597 bad28905
        Author: Simon Plourde <simon.plourde@gmail.com>
        Date:   Tue Jan 30 17:36:00 2018 -0500

            Merge branch 'master' into testing/proxy-requests

        commit bad28905d9280dd092e2487f9b973aa7b33776aa
        Author: Simon Plourde <simon@sensu.io>
        Date:   Tue Jan 30 16:19:45 2018 -0500

            Bumped version to v2.0.0-alpha.15-1

            Signed-off-by: Simon Plourde <simon@sensu.io>

        commit f0f250e4d95601d34b626628994cf0f93dd2a730
        Merge: 67e98718 c49a1097
        Author: Melissa Page <73hl10n@gmail.com>
        Date:   Tue Jan 30 12:49:31 2018 -0800

            Merge pull request #948 from sensu/web/quicknav

            [Web] Quick Nav Implementation

        commit c49a1097835d52a4327e225c5fe3cec8ed724fc2
        Merge: fa002d49 67e98718
        Author: Melissa Page <73hl10n@gmail.com>
        Date:   Tue Jan 30 12:48:48 2018 -0800

            Merge branch 'master' into web/quicknav

        commit fa002d491d179435f0fe81071f5d24f5a4f42b40
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Tue Jan 30 11:45:27 2018 -0800

            Wrap up changes to converting IconButton to Link

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit a1243d5abe3d0ddd826259be250601d5f1f69499
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Tue Jan 30 09:37:11 2018 -0800

            Add TODOs and use theme colour when possible

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit 5aa535978113454e014f40d89cdd56445abc7522
        Author: Simon Plourde <simon@sensu.io>
        Date:   Tue Jan 30 10:44:35 2018 -0500

            Add e2e test for proxy check requests

            Signed-off-by: Simon Plourde <simon@sensu.io>

        commit 15a20eb326b060fc9aba9f2855eccc648cb22928
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Mon Jan 29 18:32:47 2018 -0800

            Update changelog

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit ccd314808914a9dafd9274c21b550cb493b6aa06
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Mon Jan 29 18:03:15 2018 -0800

            Update package.json with classnames dependency for quick nav

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit cbbac908ed88165b2679eb39ca77f1e08c7c40ca
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Mon Jan 29 17:26:44 2018 -0800

            Finish quick nav implementation and clean up

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit f1df0ece9c3073a54457cea24325533516e97e7e
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Mon Jan 29 15:47:29 2018 -0800

            Quick nav padding and coour adjustments

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit 6cb0d9e7aa407dc298aa4f14a6ad6585745c5805
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Mon Jan 29 15:16:39 2018 -0800

            Quick nav improvements

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit 0213823ae41b847356b515eb3e14214fe2c708ef
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Fri Jan 26 14:52:22 2018 -0800

            Quick nav improvements

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        commit 120abc565382046abf35307b85493f309b9a08b0
        Author: Melissa P <73hl10n@gmail.com>
        Date:   Thu Jan 25 17:55:48 2018 -0800

            Initial steps for quick nav component

            Signed-off-by: Melissa P <73hl10n@gmail.com>

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Resolve merge conflict

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Resolve interface error

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Remove ineffectual statement

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * 4th check is unnecessary, add comments

        Signed-off-by: Nikki Attea <nikki@sensu.io>

        * Unit test rather than integration test, modify in progress checks directly

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit f585f6342b25b3be9ec530c40223dcff2e20c1dc
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Wed Jan 31 15:02:17 2018 -0500

        Fix and add integration tests to our CI

        * Fix and add integration tests to our CI

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 1229beb98d92c51a7dc4f8342ef01b16a4d4be16
    Merge: 09b7c95e e0d55648
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Wed Jan 31 11:31:03 2018 -0800

        Merge pull request #954 from sensu/bugfix/leader-atomics

        Ensure atomic fields are 8-byte aligned.

    commit e0d556480c29633fbe8b1b55636e5b24c3e7e645
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Wed Jan 31 10:19:07 2018 -0800

        Ensure atomic fields are 8-byte aligned.

        This is necessary for 32-bit x86 and ARM when performing atomic
        operations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 09b7c95e8424803e3c9d75c154f0a49ef813cceb
    Merge: bad28905 bb7d0804
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:07 2018 -0500

        Merge pull request #950 from sensu/testing/proxy-requests

        Add e2e test for proxy check requests

    commit bb7d0804b84479ba46b4973a4da0384d8b0fbb28
    Merge: 5aa53597 bad28905
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Tue Jan 30 17:36:00 2018 -0500

        Merge branch 'master' into testing/proxy-requests

    commit bad28905d9280dd092e2487f9b973aa7b33776aa
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 16:19:45 2018 -0500

        Bumped version to v2.0.0-alpha.15-1

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit f0f250e4d95601d34b626628994cf0f93dd2a730
    Merge: 67e98718 c49a1097
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:49:31 2018 -0800

        Merge pull request #948 from sensu/web/quicknav

        [Web] Quick Nav Implementation

    commit c49a1097835d52a4327e225c5fe3cec8ed724fc2
    Merge: fa002d49 67e98718
    Author: Melissa Page <73hl10n@gmail.com>
    Date:   Tue Jan 30 12:48:48 2018 -0800

        Merge branch 'master' into web/quicknav

    commit fa002d491d179435f0fe81071f5d24f5a4f42b40
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 11:45:27 2018 -0800

        Wrap up changes to converting IconButton to Link

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 67e98718879c1a08e86fb5476a3bdff6ce4c3fec
    Merge: 735e396b 8ae0fe0a
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Tue Jan 30 11:40:49 2018 -0800

        Merge pull request #947 from sensu/concurrency/ring-peek

        Add Peek method to Ring.

    commit a1243d5abe3d0ddd826259be250601d5f1f69499
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Tue Jan 30 09:37:11 2018 -0800

        Add TODOs and use theme colour when possible

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 5aa535978113454e014f40d89cdd56445abc7522
    Author: Simon Plourde <simon@sensu.io>
    Date:   Tue Jan 30 10:44:35 2018 -0500

        Add e2e test for proxy check requests

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 735e396b5e6bfd1d142c60f92e1066654493a337
    Merge: 44cc3452 e895678a
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 10:30:03 2018 -0600

        Merge pull request #944 from sensu/feature/proxy-requests

        Publish Proxy Check Requests

    commit e895678a8c028b70596dce0f15cff9d74ec13106
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Tue Jan 30 10:09:39 2018 -0600

        Log statement if no entities match

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 15a20eb326b060fc9aba9f2855eccc648cb22928
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:32:47 2018 -0800

        Update changelog

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 717b5a729754fe22d33a216d6bca162507eeb681
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Mon Jan 29 20:15:27 2018 -0600

        Only replace \" if contained within {{ }}, add test cases

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit ccd314808914a9dafd9274c21b550cb493b6aa06
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 18:03:15 2018 -0800

        Update package.json with classnames dependency for quick nav

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit cbbac908ed88165b2679eb39ca77f1e08c7c40ca
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 17:26:44 2018 -0800

        Finish quick nav implementation and clean up

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit f1df0ece9c3073a54457cea24325533516e97e7e
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:47:29 2018 -0800

        Quick nav padding and coour adjustments

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 6cb0d9e7aa407dc298aa4f14a6ad6585745c5805
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Mon Jan 29 15:16:39 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 0213823ae41b847356b515eb3e14214fe2c708ef
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Fri Jan 26 14:52:22 2018 -0800

        Quick nav improvements

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 120abc565382046abf35307b85493f309b9a08b0
    Author: Melissa P <73hl10n@gmail.com>
    Date:   Thu Jan 25 17:55:48 2018 -0800

        Initial steps for quick nav component

        Signed-off-by: Melissa P <73hl10n@gmail.com>

    commit 44cc3452f36cce9cdd448f64725b502e80f82bbd
    Author: Greg Poirier <grep@binary-snobbery.com>
    Date:   Mon Jan 29 13:45:16 2018 -0800

        Cron and Interval check scheduling are now mutually exclusive (#941)

        * Cron and Interval check scheduling are now mutually exclusive

        Signed-off-by: Greg Poirier <greg.istehbest@gmail.com>

    commit 8ae0fe0a18bd1b8382d7ecd6540a9b774f8a519a
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Mon Jan 29 13:11:27 2018 -0800

        Add Peek method to Ring.

        Peek can be used by clients that wish to know what's next in the
        ring, but don't wish to advance the iteration.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 779b7a108de86c288f409760b8d717bf905514a5
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Mon Jan 29 10:41:39 2018 -0800

        Don't use -v for tests.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 94772191959b34510917696693fa484c50f6cd11
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Mon Jan 29 12:56:42 2018 -0600

        Publish proxy check requests to entities if applicable, add remove-proxy-requests cli command, refactor funcs to util/eval

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 40bc2560d00b17fc89a477d26f2f81b9c44f3be4
    Merge: 1e0a1221 106439c8
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Mon Jan 29 10:30:25 2018 -0800

        Merge pull request #908 from sensu/concurrency/leader

        Add package leader.

    commit 106439c8098a109ec532d0067a9bffc22ebabcfa
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Thu Jan 18 15:35:27 2018 -0800

        Add package leader.

        Package leader provides the Do function, which allows package
        users to execute functions exclusively from the leader node.
        The leader package uses etcd elections to achieve this.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 1e0a1221d78157255b6c231ea55ba24604084eb1
    Merge: f779c750 d915f197
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 14:08:03 2018 -0800

        Merge pull request #936 from sensu/dashboard-cleanup

        [Web] Housekeeping

    commit f779c750bd81e6ff3dbf43dfa5c03cedbb869648
    Merge: 498e09fe 79397624
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Fri Jan 26 13:53:15 2018 -0800

        Merge pull request #930 from sensu/concurrency/etcd-ring

        Add etcd ring data structure.

    commit 793976246dba9b124801d4e49c928adcc189fa43
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Fri Jan 26 10:47:04 2018 -0800

        Fix lint and Getter interface.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit dd9013c55427ae8646b9f6afd2f8608fa38110ac
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Thu Jan 25 14:45:40 2018 -0800

        Ensure value is not already present on Add.

        This commit fixes a but in the ring data structure where
        duplicates could be added if the added value is already present.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 2951c1131fb837dbce61d872fb29360e48d0cf36
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Wed Jan 24 15:24:39 2018 -0800

        Add etcd ring data structure.

        Ring is a data structure that cycles through its values with every
        call to Next. The values can be added or removed concurrently with
        calls to Next.

        Ring will be used for round-robin scheduling.

        Closes #925

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit d915f19760355ec44f38eaf84ad86c0f81ea0045
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 04:40:53 2018 -0800

        [Web] Fix gutters on AppBar

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit aea7e13f18a0c07b9a28412efa9bc80a79be5ac1
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 04:29:05 2018 -0800

        [Web] Remove avatar from toolbar; move logout to drawer

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit 0fee12bbf015bcec4f4bea1bf1a17091ded05b6f
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 03:37:46 2018 -0800

        [Web] Update lint-staged

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit 40c5b33cef016e6bf298657722b6e06cb98bb13c
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 03:30:11 2018 -0800

        [Web] Update react & friends

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit 0acc3243dfbe9877a16c5beb80d42bd6f5fff13d
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 03:13:02 2018 -0800

        [Web] Update eslint packages

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit 6a74cae862923991d6b757898f685d4e3140fced
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 02:44:34 2018 -0800

        [Web] Update babel packages

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit a3baf904bf98e0f0e2d13ac0e1551c0e4f65d1ed
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 02:34:55 2018 -0800

        [Web] Update react-dev-utils package

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit 309fcda38afd2938820f43dd8568c5b5bd3a099e
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Fri Jan 26 02:19:20 2018 -0800

        [Web] Update material-ui to latest for style improvements

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    commit e7cb685cacb06c350613e14bec3d30156cb40e60
    Author: James Phillips <jamesdphillips@gmail.com>
    Date:   Thu Jan 25 13:02:05 2018 -0800

        [GraphQL] Fixup issue with pagination

        Signed-off-by: James Phillips <jamesdphillips@gmail.com>

    Signed-off-by: Nikki Attea <nikki@sensu.io>

commit 2149aea1ceae69fa83c3b38415248a052b04897f
Author: Nikki Attea <nikki@sensu.io>
Date:   Mon Feb 5 17:20:22 2018 -0600

    Keepalive monitors don't respect changes in agent KeepaliveTimeout (#959)

    * Fix the keepalive timeout type, correct a comment and test statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Add an e2e test for keepalive timeout updates

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Fix the keepalive timeout type, correct a comment and test statement

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Add an e2e test for keepalive timeout updates

    Signed-off-by: Nikki Attea <nikki@sensu.io>

    * Squashed commit of the following:

    commit c8d9dab058c8f21b7273b97511edee6937e81f92
    Merge: 383e1869 aa3d01b1
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Mon Feb 5 09:47:28 2018 -0600

        Merge branch 'bugfix/keepalive-timeout' of https://github.com/sensu/sensu-go into bugfix/keepalive-timeout

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 383e18690af8121d4d8bc761ba4c1b0669d60767
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 14:46:22 2018 -0600

        Add an e2e test for keepalive timeout updates

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit be67f5b54356fbf4cdf6df3864119e86f88643da
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Thu Feb 1 19:06:14 2018 -0600

        Fix the keepalive timeout type, correct a comment and test statement

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit bbb3f3add6f73ba1bdc5f936589ef97b4fdeb86c
    Merge: 8e7bb8f1 d1deb7d5
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Mon Feb 5 10:12:03 2018 -0500

        Merge pull request #962 from sensu/testing/check-scheduling-refactoring

        Refactoring of check_scheduler_test

    commit d1deb7d5decc8ee6032f80171d9e1433ea38a807
    Merge: 029cf9cf 8e7bb8f1
    Author: Simon Plourde <simon@sensu.io>
    Date:   Mon Feb 5 09:33:00 2018 -0500

        Merge branch 'master' into testing/check-scheduling-refactoring

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 8e7bb8f15c1b647125290377b29642d21006e602
    Merge: 5d9db4f3 4b4b17a6
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Mon Feb 5 09:31:49 2018 -0500

        Merge pull request #964 from sensu/testing/etcd

        Disable race detector for tests with etcd store

    commit 4b4b17a6ac8e5e76110a05f3c67034626e211a1b
    Merge: bc5ebc9d 5d9db4f3
    Author: Simon Plourde <simon@sensu.io>
    Date:   Mon Feb 5 09:04:23 2018 -0500

        Merge branch 'master' into testing/etcd

    commit 5d9db4f3fd6b2973b73aa93b691f11587e2c257c
    Merge: 3479231d 23e20712
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Mon Feb 5 09:02:26 2018 -0500

        Merge pull request #965 from sensu/fix-queue-test

        Fixed auto nack test

    commit 23e2071290fb90704b05ace66a537276f23503a2
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Fri Feb 2 16:14:51 2018 -0800

        Appease the linter

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit bb85eba3e856ecda662fb0f0a834343cea8c4c65
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Fri Feb 2 15:56:52 2018 -0800

        Rework test to better simulate client crash

        Added context with cancel and then cancel context, queue has default
        timeout of 60 seconds

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit 998ceef0b4fa543af3cc2e42a9886c7f9f6ecb2a
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Fri Feb 2 14:20:34 2018 -0800

        Fixed auto nack test

        Added logic to close client, create a new client and queue, and test
        that the expected value is back in the work queue.

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit bc5ebc9dea119f4ee51c36b56e06f131ee9f1416
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 15:48:09 2018 -0500

        Mark backend/queue tests as integration

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 7932cbd50102b686867dda0549006c0b508ec696
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 15:47:34 2018 -0500

        Mark backend/etcd tests as integration

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit aa3d01b120197066b57871db110cd5cc741a14f4
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 14:46:22 2018 -0600

        Add an e2e test for keepalive timeout updates

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 465d89fa0d0d695889bf72f918707054c2b00823
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 15:45:57 2018 -0500

        Explicitly mark which tests should run with race detector

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 24dbd92d5d5d612561c24225cd23a517c2092a9a
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 13:34:01 2018 -0600

        All store/etcd are integration

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 806fca43a27727f09a3971c705132cea8ec5a41d
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:46:58 2018 -0600

        Revert build tag

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit fc772167b9e1aea96c11b912e8987f84a3250b92
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:43:48 2018 -0600

        Add build tag fix to changelog

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 9085d71e6cdec150e76a0b9ce3cda6bac1957dc5
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Fri Feb 2 12:42:06 2018 -0600

        Add !race and integration build tags to etcd tests

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 029cf9cff364465df0bd97967cbc0b85c155f70b
    Author: Simon Plourde <simon@sensu.io>
    Date:   Fri Feb 2 13:34:35 2018 -0500

        Add check scheduling refactoring to changelog

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 80f4ad02a7df17541fb6ea7e4a5099fa53874854
    Author: Simon Plourde <simon@sensu.io>
    Date:   Thu Feb 1 18:10:21 2018 -0500

        Refactoring of check_scheduler_test

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit e39c65cea98be32eba66d8e1774dd21bdac3d418
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Thu Feb 1 19:06:14 2018 -0600

        Fix the keepalive timeout type, correct a comment and test statement

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 3479231d67fd06ab5f9af534368e4fda447708f9
    Merge: f913cbd9 c4062587
    Author: Mercedes Coyle <mercul3s@users.noreply.github.com>
    Date:   Thu Feb 1 10:52:21 2018 -0800

        Merge pull request #937 from sensu/durable-queue

        Durable queue

    commit f913cbd9c1ee38154fd7e821d5ea8b5249974c25
    Merge: b0baca85 3b3c24c3
    Author: Simon Plourde <simon.plourde@gmail.com>
    Date:   Thu Feb 1 13:22:03 2018 -0500

        Merge pull request #957 from sensu/bugfix/check-silencing

        Compare check & entity subscriptions before silencing

    commit c4062587a83aa9dbc5ded1b6654934ef70f01a45
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Wed Jan 31 15:55:45 2018 -0800

        Concurrency fixes

        Added locks around transactions
        Terminate goroutine on ack/nack or context cancelation

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit a1e16bebeb7cada0cb6ac4d0d64b207ba757fb35
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Tue Jan 30 16:31:06 2018 -0800

        Avoid race in keepalive

        Added mutex to item so key updates are locked, updated timestamps to be
        consistent time.Time values, un-exported queue lanes

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit 6b99d4808528fd957b392d4a94131e9f863cb530
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Sat Jan 27 12:26:50 2018 -0800

        Ensure ack or nack can only be called once exclusively

        Added funcs for nacking expired items, getting timestamps from keys, and
        updating the key timestamp, configurable timeout value to Queue

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit 1824a322f4f16b93f14203e62be01824dcffbc7f
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Thu Jan 25 18:42:15 2018 -0800

        Filled out Ack and Nack functions

        Ack now deletes its item, while Nack puts it back in the work queue.
        Now returning nil instead of an empty item struct for better handling.
        Nack does put and delete in one transaction
        Fixed bug in tryDelete where old keyname would be returned

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit eea7e1fe42e5a8a711ff0315d3322c65a629b63d
    Author: Mercedes Coyle <mercedes@sensu.io>
    Date:   Thu Jan 25 13:07:22 2018 -0800

        Added inflight lane and put operation to dequeue

        Dequeue now adds the item to inflight and deletes it from the work queue
        in a multi op transaction.

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

        WIP queue durability

        Added data structure and methods for item
        Added work and in flight lanes

        Signed-off-by: Mercedes Coyle <mercedes@sensu.io>

    commit b0baca8558f9da414a570f5b87192d52d91a8d52
    Merge: 69988cf7 d8da7b75
    Author: Eric Chlebek <echlebek@gmail.com>
    Date:   Thu Feb 1 09:53:14 2018 -0800

        Merge pull request #952 from sensu/concurrency/ring-ownership

        Add ownership concept to the Ring.

    commit d8da7b750b70c9c7b0399837773b2340bd852f74
    Author: Eric Chlebek <eric@sensu.io>
    Date:   Tue Jan 30 14:32:22 2018 -0800

        Add ownership concept to the Ring.

        * Adding ring items implicitly tracks ownership by backends.
        * Only the backend that added an item can retrieve it via Next().
        * A backend can transfer ownership of an item to itself with Add().

        This commit provides a way to disambiguate relationships between
        backends and agents, when the ring is used by schedulerd. When a
        client receives a value via Next(), the client knows for a fact
        that the value is one placed there by them.

        The order of the Ring is maintained throughout, by making Next
        block until it has an item that it is allowed to consume.

        If a client and backend go offline and never come back, an orphaned
        element is left in the ring. These are reclaimed by lease
        expirations.

        Signed-off-by: Eric Chlebek <eric@sensu.io>

    commit 3b3c24c34dff34100596118194856140824f33c5
    Author: Simon Plourde <simon@sensu.io>
    Date:   Thu Feb 1 12:10:40 2018 -0500

        Add changelog entry for event silencing bugfix

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 8aeece93ab10e156e01aedf299337ab1674374d2
    Author: Simon Plourde <simon@sensu.io>
    Date:   Thu Feb 1 12:00:58 2018 -0500

        Compare check & entity subscriptions before silencing

        Signed-off-by: Simon Plourde <simon@sensu.io>

    commit 69988cf71a0d47576441b397d0cb33fd4ecc1a4c
    Merge: a9d0d3b3 b91c5f21
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 19:30:16 2018 -0600

        Merge pull request #956 from sensu/bugfix/process-timer

        [Bugfix] Stop timer if process exits before timeout is exceeded

    commit b91c5f21377e9449d609d01717e4523ed185626c
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 18:30:24 2018 -0600

        Use params properly

        Signed-off-by: Nikki Attea <nikki@sensu.io>

    commit 0de6e6a8fb2d616343774e68424fcc501bf3a2c6
    Author: Nikki Attea <nikki@sensu.io>
    Date:   Wed Jan 31 18:14:55 2018 -0600

        Correct type