Commit Graph

22 Commits (f37df1133920e54890a36e65c363caf8bd6b4949)

Author SHA1 Message Date
Cory LaNou d19a510ad2 refactor Points and Rows to dedicated packages 2015-09-16 15:33:08 -05:00
Jason Wilder 7cf31a74cd Prevent out of memory range slices from being created
If the hinted handoff segment is corrupt, the size read could be
invalid and attempting to create a slice using that size causes
a panic.  Ideally, we'd have a checksum on the seqment record but
for now just return an error when the size is larger than the
segment file.

Fixes #3687
2015-08-17 10:48:01 -06:00
Jason Wilder 668181d275 Make log statements more consistent
* Capitalize first letter of message
* Log all services staring consistently
* Remove some extraneous log statements in meta.Store
* Log data dirs for meta, data and hinted handoff
2015-08-13 10:01:42 -06:00
Jason Wilder 398ffabab7 Fix panic in hinted handoff processor
A short write has occurred and we do not have enough bytes to determine
the size of the payload.  This is corrupted record that we should drop.
Instead of panicing, log the error and advance the queue since the error
at this location is unreoverable currently.

Fixes #3436
2015-08-06 14:06:41 -06:00
Joseph Crail 5fccee3d16 Fix spelling errors in comments and strings. 2015-06-28 02:54:34 -04:00
Jason Wilder 67d4ef0e28 Don't queue write failures that due to type conflicts
These will never succeed and will stay in the queue indefinitely.
2015-06-10 14:52:59 -06:00
Cory LaNou 8a5cf394d8 add ability to silence logging for testing 2015-06-10 10:27:57 -05:00
Jason Wilder 5dab8de7e0 Log hinted handoff processing duration 2015-06-09 14:49:18 -06:00
Jason Wilder c9f9b37753 Add hinted handoff queue rate limiting
Basic throughput limiting to dynamically maintain a bytes/sec
limit if configured for hinted handoff retry queues.  If a batch is
larger than the limit, the limit will slow the processing down to one
write per second.

By default, the limit is unbounded.  It can be enabled to help prevent
retstarting nodes that have queued writes for them from being overloaded
at startup.
2015-06-09 14:46:13 -06:00
Jason Wilder 07d1aac50f Fix comment in hinted handoff processor 2015-06-08 16:51:48 -06:00
Jason Wilder ede254484d Process hinted handoff queues concurrently 2015-06-08 15:05:44 -06:00
Jason Wilder d86b15953c Fix queue advance not writing updated position
The advance function was not writing the updated position in the
queue until after the next advance call was called.  Resulted in
the very last message would get replayed on restart each time.
2015-06-08 12:09:31 -06:00
Jason Wilder e75208f15c Log remote write erros 2015-06-08 09:09:10 -06:00
Jason Wilder 2ccf97e6a0 Add wait group to hinted handoff service 2015-06-05 22:16:52 -06:00
Jason Wilder 4ec77d8b84 Fix comments 2015-06-05 22:16:52 -06:00
Jason Wilder e2f3ff26a5 Fix data race when close hinted handoff service 2015-06-05 22:16:51 -06:00
Jason Wilder f4cea559d3 Purge hinted handoff queue if entries stick around past a cutoff 2015-06-05 22:16:51 -06:00
Jason Wilder 9d67f9bf62 Add hinted handoff max age and throughput rate limit config options 2015-06-05 22:16:51 -06:00
Jason Wilder 809b9b8a83 Add basic hinted handoff support
If a remote write fails, it will be queued to a per-node, local disk
queue and retried later.
2015-06-05 22:16:51 -06:00
Jason Wilder 89c01cd37d Add hinted handoff queue
This adds a disk backed queue that will be to persist hinted
handoff writes.
2015-06-05 22:16:51 -06:00
Jason Wilder 75b72c60fe Add hinted handoff service
The hinted handoff service will queue a write to a remote node if
that write fails and periodically retry the write.
2015-06-05 22:16:51 -06:00
Jason Wilder 170c584b45 Add hinted handoff config and tests 2015-06-05 22:16:51 -06:00