VictoriaMetrics/lib
Aliaksandr Valialkin 5f52eb7653 lib/fs: do not postpone directory removal on NFS error
Continue trying to remove NFS directory on temporary errors for up to a minute.

The previous async removal process breaks in the following case during VictoriaMetrics start

- VictoriaMetrics opens index, finds incomplete merge transactions and starts replaying them.
- The transaction instructs removing old directories for parts, which were already merged into bigger part.
- VictoriaMetrics removes these directories, but their removal is delayed due to NFS errors.
- VictoriaMetrics scans partition directory after all the incomplete merge transactions are finished
  and finds directories, which should be removed, but weren't still removed due to NFS errors.
- VictoriaMetrics panics when it finds unexpected empty directory.

Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/162
2019-11-10 13:27:16 +02:00
..
auth all: open-sourcing cluster version 2019-05-23 00:25:38 +03:00
backup app/{vmbackup,vmrestore}: add vmbackup and vmrestore tools for creating backups on s3 or gcs from instant snapshots 2019-11-07 21:26:43 +02:00
buildinfo all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
bytesutil add unittests for bytesutil and storage (#221) 2019-11-04 00:57:24 +02:00
consts all: open-sourcing cluster version 2019-05-23 00:25:38 +03:00
decimal lib/{decimal,encoding}: optimize float64<->decimal conversion for arrays with zeros or ones 2019-11-01 16:46:08 +02:00
encoding lib/{decimal,encoding}: optimize float64<->decimal conversion for arrays with zeros or ones 2019-11-01 16:46:08 +02:00
fastnum lib/{decimal,encoding}: optimize float64<->decimal conversion for arrays with zeros or ones 2019-11-01 16:46:08 +02:00
filestream app/{vmbackup,vmrestore}: add vmbackup and vmrestore tools for creating backups on s3 or gcs from instant snapshots 2019-11-07 21:26:43 +02:00
flagutil lib/flagutil: add NewArray helper func 2019-06-18 10:44:09 +03:00
fs lib/fs: do not postpone directory removal on NFS error 2019-11-10 13:27:16 +02:00
handshake all: report the number of bytes read on io.ReadFull error 2019-09-11 14:50:24 +03:00
httpserver all: return 503 http error if service is temporarily unavailable 2019-08-23 09:49:50 +03:00
logger all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
memory lib/memory: properly handle int overflow in sysTotalMemory 2019-10-17 18:27:49 +03:00
mergeset lib/{storage,mergeset}: create missing partition directories after restoring from backups 2019-11-02 02:27:19 +02:00
netutil all: add support for GOARCH=386 and fix all the issues related to 32-bit architectures such as GOARCH=arm 2019-10-17 18:27:49 +03:00
procutil lib/procutil: typo fix in comment to WaitForSigterm 2019-06-03 16:54:37 +03:00
prompb lib/prompb: removed outdated README.md 2019-10-14 22:16:36 +03:00
storage lib/storage: implement per-day inverted index 2019-11-10 00:20:32 +02:00
syncwg all: open-sourcing single-node version 2019-05-23 00:18:06 +03:00
tenantmetrics app/vminsert: split vm_rows_inserted_total into per-(accountID, projectID) metrics 2019-06-07 22:11:20 +03:00
timerpool lib/timerpool: use timer pool in concurrency limiters 2019-05-28 17:30:10 +03:00
uint64set lib/uint64set: remove superflouos check for item existence before deleting it in Set.Subtract 2019-11-09 14:01:24 +02:00
workingsetcache lib/workingsetcache: remove data race when resetting c.misses 2019-09-22 19:37:09 +03:00