Commit 17d1d2c
committed
fix: make NOSPACE error code more accurate
Current implementation has a critical error when the following
conditions are met:
- clients are creating files in goal ec(D, P).
- more than one minute has passed.
- all the chunkservers restart.
In such case, it is very likely that master replies to some of the
chunk write (creations) requests SAUNAFS_ERROR_NOSPACE. This happens
when not being able to create the chunk due to not having at least D
chunkservers available and having at least one available.
The error code SAUNAFS_ERROR_NOSPACE is not retryable by the client,
which is correct, but makes the write operations to completely fail.
The incorrect behavior is the one from the master, which must reply
SAUNAFS_ERROR_NOCHUNKSERVERS in such cases and only leave the NOSPACE
error code for the case when at least D chunkservers are available.
Signed-off-by: Dave <dave@leil.io>1 parent f9333fe commit 17d1d2c
3 files changed
+29
-7
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1379 | 1379 | | |
1380 | 1380 | | |
1381 | 1381 | | |
1382 | | - | |
| 1382 | + | |
| 1383 | + | |
| 1384 | + | |
1383 | 1385 | | |
1384 | 1386 | | |
1385 | 1387 | | |
1386 | 1388 | | |
1387 | 1389 | | |
1388 | | - | |
1389 | | - | |
1390 | | - | |
| 1390 | + | |
| 1391 | + | |
| 1392 | + | |
| 1393 | + | |
1391 | 1394 | | |
1392 | 1395 | | |
1393 | 1396 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
352 | 352 | | |
353 | 353 | | |
354 | 354 | | |
355 | | - | |
| 355 | + | |
356 | 356 | | |
357 | 357 | | |
358 | 358 | | |
359 | 359 | | |
| 360 | + | |
| 361 | + | |
360 | 362 | | |
361 | 363 | | |
362 | 364 | | |
| |||
386 | 388 | | |
387 | 389 | | |
388 | 390 | | |
| 391 | + | |
| 392 | + | |
| 393 | + | |
389 | 394 | | |
390 | 395 | | |
391 | 396 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
92 | | - | |
93 | | - | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
94 | 108 | | |
95 | 109 | | |
96 | 110 | | |
| |||
0 commit comments