Commit Graph

8440 Commits (90ea3fc4ad8e94512ada1f3a6bd8e6082fdbc330)

Author SHA1 Message Date
Jason Wilder 56d85d44ad Use RemoveAll instead of Remove
When a database is dropped, removing old segments returns an error
because the files are already gone.  Using RemoveAll handles this
case more gracefully.
2015-10-26 13:16:32 -06:00
Jason Wilder 8af066b8ee Add more context to errors when flushes fail 2015-10-26 13:08:06 -06:00
Jason Wilder 801e766a00 Remove database from meta store before delete local files
Prevents a race where shards are recreated after a database is dropped.
2015-10-26 13:06:06 -06:00
Jason Wilder 9046244df3 Remove the shard references when database is dropped
The shards map still held a reference to a shard that was dropped
which caused the periodic mainteance task to report errors continuously.
2015-10-26 13:04:57 -06:00
Jason Wilder 4d277e7772 Ensure WAL is closed when closing engine
If a database is dropped, the WAL maintenance goroutines could still
kick in an fail becase the DB dirs are gone.
2015-10-26 10:38:52 -06:00
Jason Wilder 6240972121 Log errors returned from failed compactions 2015-10-26 10:37:09 -06:00
ch33hau aeb48501d1 Updated keyword list in INFLUXQL.md 2015-10-27 00:31:38 +08:00
Jason Wilder 562ccb6492 Add missing cacheLock/writeLock.Unlock calls
If an error occurred in this code path, the locks would not be released.
2015-10-26 10:17:47 -06:00
Cory LaNou fdcc811f6a Merge pull request #4547 from influxdb/drop-raft-node
Drop raft node
2015-10-26 11:07:39 -05:00
Jason Wilder 4afb98ba8b Return error instead of panicing if we can't create a new WAL segment
If a drop database is executed while writes are in flight, a panic
could occur because the WAL would fail to write to the DB dirs where
had been removed.

Partil fix for #4538
2015-10-26 09:53:47 -06:00
Philip O'Toole c01e768253 Merge pull request #4567 from ch33hau/fix-minor-typo
Fix typo and double spaces for comments
2015-10-26 09:38:36 -06:00
Cory LaNou 25a9127aa9 minor changes based on PR feedback 2015-10-26 10:07:40 -05:00
ch33hau 2924616585 Fix typo and double spaces for comments 2015-10-26 09:37:02 +08:00
bwhaley 8aa79c551f Update README.md
Clarify use of filters with multiple consecutive wildcards
2015-10-24 15:01:44 -07:00
Cory LaNou 66a425b9a9 changelog 2015-10-23 14:48:32 -06:00
Cory LaNou 49b9329ea4 allow dropping of raft nodes 2015-10-23 14:48:32 -06:00
Cory LaNou ff4209436f close raftState before waiting 2015-10-23 14:48:32 -06:00
Cory LaNou 90beaee803 silence subscriber service logging during testing 2015-10-23 14:48:32 -06:00
Cory LaNou 1d78e0677b fix wg.Wait on meta.Store, refactorings, debug statements 2015-10-23 14:48:32 -06:00
Cory LaNou b4637ab814 add more context to no leader errors 2015-10-23 14:48:32 -06:00
Cory LaNou a92ba82085 fix race, add better error message 2015-10-23 14:48:32 -06:00
Cory LaNou 13c1e0adc3 baseline drop raft node 2015-10-23 14:48:32 -06:00
Philip O'Toole 96334108e2 Merge pull request #4557 from influxdb/ci_test_enhancements
Run 1 container of tests with tsm1
2015-10-23 14:10:52 -06:00
Philip O'Toole 245bd61cd0 Run 1 container of tests with the tsm1 engine 2015-10-23 13:58:15 -06:00
Philip O'Toole f43c759e7c Log engine selection via environment variable 2015-10-23 13:58:06 -06:00
Ben Johnson 6413e87030 revert default engine to bz1 2015-10-23 13:31:30 -06:00
Ben Johnson d35657629f Merge pull request #4553 from benbjohnson/tsm1-decode-buffer
Reuse tsm1 decode buffer
2015-10-23 13:16:13 -06:00
Ben Johnson e9d303531e reuse tsm1 decode buffer
This commit changes `tsm1.DecodeBlock()` to reuse the same
slice of `[]tsm1.Value` instead of reallocating a new one each time.
2015-10-23 12:51:55 -06:00
Jason Wilder 59bb82d25a Merge pull request #4555 from influxdb/jw-4545
Fix issues with removing/renaming files
2015-10-23 12:32:58 -06:00
Jason Wilder 7beb4f7fec Remove Stat+Remove before Rename calls
The Stat+Remove calls are unnecessary because Rename will replace
the destination file if it exist or not.  There is no need to remove
the destination file before calling Rename.
2015-10-23 12:18:49 -06:00
Jason Wilder 61cbb5b6ff Use RemoveAll instead of Remove
Several places use os.Remove and check for os.ErrNotExist.  os.Remove
does not return os.ErrNotExit, it returns a *PathError so these remove
calls will panic if the file does not exist.

Instead use os.RemoveAll that will not return an error if the file does
not exist.

Fixes #4545
2015-10-23 12:06:20 -06:00
Michael Desa f47634ec30 Merge pull request #4540 from influxdb/md-cleanup
Remove unneeded lines
2015-10-23 10:12:00 -07:00
Jason Wilder 827c51384c Merge pull request #4543 from influxdb/jw-wal-tests
Fix WAL Write/Close concurrency issues
2015-10-22 10:23:46 -06:00
Jason Wilder 8dec255b15 Move closing check for flush before cacheLock
Lock does not need to be acquired.
2015-10-22 10:12:07 -06:00
Ben Johnson 52610f5e21 Merge pull request #4531 from benbjohnson/map-series
Refactor tsdb query engine
2015-10-22 09:43:35 -06:00
Ben Johnson 28b585e639 refactor tsdb query engine
This commit refactors the tsdb query engine to use separate aggregate
and raw execution paths, encapsulates cursor functionality, and removes
the TagSetCursor from the aggregate path. By removing the TagSetCursor,
we can pass sets of unordered values to the map functions and bypass
the `container/heap` entirely.
2015-10-22 09:41:12 -06:00
Paul Dix 1233383ccf Merge pull request #4530 from influxdb/pd-tsm-fix-compaction-size
Ensure compactions don't create files much larger than 2GB.
2015-10-22 08:42:32 -04:00
Paul Dix 529985964f Ensure compactions don't create files much larger than 2GB.
* refactor compaction
* rework compaction cleanup logic to work with multiple resulting files
* ensure the uint64 number for a series key doesn't use 0 or MaxInt64 for sentinel values
2015-10-22 08:34:02 -04:00
Jason Wilder f66de17e8a Move closing channel init before first usage
Fix a test that closes and re-opens the same WAL.
2015-10-21 23:47:29 -06:00
Jason Wilder 6db5429d06 Fix deadlock when closing WAL and flush is running
Close acquired the cacheLock and writeLock in a different order than flush.  If addToCache was also
running in a goroutine (acquiring cacheLock), a deadlock could happen.
2015-10-21 23:46:59 -06:00
Jason Wilder 4f31b8fab9 Fix panic: error opening new segment file for wal
panic: error opening new segment file for wal: open /var/folders/lj/vlbynqp52pxdxxlxx64j6bk80000gn/T/tsm1-test709000715/_00002.wal: no such file or directory

goroutine 8 [running]:
github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Log).writeToLog(0xc820098500, 0x1, 0xc8201584b0, 0x1c, 0x45, 0x0, 0x0)
	/Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/wal.go:427 +0xc19
2015-10-21 23:46:09 -06:00
Michael Desa 0035b79a84 Remove unneeded lines 2015-10-21 19:26:58 -07:00
Jason Wilder 3a5044d448 Merge pull request #4537 from influxdb/jw-tsm-tests
TSM test and data race fixes
2015-10-21 16:47:57 -06:00
Jason Wilder 4ac67259f7 Fix data race in filesAndLock/Compact
WARNING: DATA RACE
Write by goroutine 10:
  github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Engine).Compact()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1.go:716 +0x1a3e
  github.com/influxdb/influxdb/tsdb/engine/tsm1_test.TestEngine_WriteCompaction_Concurrent.func2()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1_test.go:422 +0xc8

Previous read by goroutine 9:
  github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Engine).filesAndLock()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1.go:476 +0xe8
  github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Engine).Write()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1.go:370 +0x216
  github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Log).flush()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/wal.go:604 +0xef4
  github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Log).WritePoints()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/wal.go:243 +0x794
  github.com/influxdb/influxdb/tsdb/engine/tsm1.(*Engine).WritePoints()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1.go:350 +0xb0
  github.com/influxdb/influxdb/tsdb/engine/tsm1_test.TestEngine_WriteCompaction_Concurrent.func1()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1_test.go:401 +0x432

Goroutine 10 (running) created at:
  github.com/influxdb/influxdb/tsdb/engine/tsm1_test.TestEngine_WriteCompaction_Concurrent()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1_test.go:426 +0x225
  testing.tRunner()
      /private/var/folders/q8/bf_4b1ts2zj0l7b0p1dv36lr0000gp/T/workdir/go/src/testing/testing.go:456 +0xdc

Goroutine 9 (running) created at:
  github.com/influxdb/influxdb/tsdb/engine/tsm1_test.TestEngine_WriteCompaction_Concurrent()
      /Users/jason/go/src/github.com/influxdb/influxdb/tsdb/engine/tsm1/tsm1_test.go:406 +0x182
  testing.tRunner()
      /private/var/folders/q8/bf_4b1ts2zj0l7b0p1dv36lr0000gp/T/workdir/go/src/testing/testing.go:456 +0xdc
2015-10-21 16:38:35 -06:00
Jason Wilder cf8a7c6d9a Fix panic: assignment to entry in nil map
WAL.addToCache could if WritePoints call is running when the WAL is
closed.
2015-10-21 16:33:36 -06:00
Jason Wilder 4c4ffda30a Add WAL write/flush concurrently test 2015-10-21 16:33:26 -06:00
Nathaniel Cook 81d90ef43b Merge pull request #4536 from influxdb/nc-fix-subscriptions
fix subscriber logic when closed
2015-10-21 15:21:55 -06:00
Jason Wilder 965827c8e8 Add test for writing/querying series with mixed field numbers 2015-10-21 15:21:28 -06:00
Jason Wilder 1922a4010f Add test for writin/querying point earlier than first stored 2015-10-21 15:21:28 -06:00
Nathaniel Cook 7c71ed53a4 fix subscriber logic when closed 2015-10-21 15:08:55 -06:00