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

[data-compaction] After overwriting a large file and executing data-compaction, cannot retrieve the one #1014

Closed
yosukehara opened this issue Mar 29, 2018 · 2 comments

Comments

@yosukehara
Copy link
Member

yosukehara commented Mar 29, 2018

I've found a data-compaction issue which is reproduced in following the procedure, and according to the diagnose's result, I've recognized the children and the grandchildren exist in each containers that means the data-compaction only removed a parent object and metadata.

PUT objects then overwrite the same them

$ leofs-adm whereis test/file_1GB
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
 del?  |           node           |             ring address             |    size    |   checksum   |  has children  |  total chunks  |     clock      |             when
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
       | storage_3@127.0.0.1      | 85c5acd90c3210b6be4431d6aa96ef11     |   1000000K |   5bef54c33c | true           |             66 | 56882ad6673d1  | 2018-03-29 10:02:27 +0900
       | storage_2@127.0.0.1      | 85c5acd90c3210b6be4431d6aa96ef11     |   1000000K |   5bef54c33c | true           |             66 | 56882ad6673d1  | 2018-03-29 10:02:27 +0900

$ leofs-adm whereis test/file
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
 del?  |           node           |             ring address             |    size    |   checksum   |  has children  |  total chunks  |     clock      |             when
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
       | storage_1@127.0.0.1      | e3ceef8518d28d8a8e704a4ff00c0ef1     |    100000K |   28e2320f78 | true           |              7 | 56882ab42c92c  | 2018-03-29 10:01:51 +0900
       | storage_3@127.0.0.1      | e3ceef8518d28d8a8e704a4ff00c0ef1     |    100000K |   28e2320f78 | true           |              7 | 56882ab42c92c  | 2018-03-29 10:01:51 +0900

## Execute data-compaction

$ leofs-adm compact-start storage_0@127.0.0.1 all
$ leofs-adm compact-start storage_1@127.0.0.1 all
$ leofs-adm compact-start storage_2@127.0.0.1 all
$ leofs-adm compact-start storage_3@127.0.0.1 all

## After data-compaction

$ leofs-adm whereis test/file
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
 del?  |           node           |             ring address             |    size    |   checksum   |  has children  |  total chunks  |     clock      |             when
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
       | storage_1@127.0.0.1      |                                      |            |              |                |                |                |
       | storage_3@127.0.0.1      |                                      |            |              |                |                |                |

$ leofs-adm whereis test/file_1GB
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
 del?  |           node           |             ring address             |    size    |   checksum   |  has children  |  total chunks  |     clock      |             when
-------+--------------------------+--------------------------------------+------------+--------------+----------------+----------------+----------------+----------------------------
       | storage_3@127.0.0.1      |                                      |            |              |                |                |                |
       | storage_2@127.0.0.1      |                                      |            |              |                |                |                |

## Execute data-diagnosis
$ leo-adm diagnose-start storage_0@127.0.0.1
OK

Diagnose's Result:

194	17913690837085986328390029255752470165	test/file	4	15728640	1522285418781839	2018-03-29 10:03:38 +0900	0
341	98733822749716252878700793090801714793	test/file	5	5242880	1522285418874783	2018-03-29 10:03:38 +0900	0
5243370	298466011122183261526543085534146435549	test/file_1GB	4	5242880	1522285431252503	2018-03-29 10:03:51 +0900	0
10486403	283643235742919342388679756905801326170	test/file_1GB	13	5242880	1522285433291576	2018-03-29 10:03:53 +0900	0
15729437	11970046953500819559706264068206090446	test/file_1GB	14	5242880	1522285433535538	2018-03-29 10:03:53 +0900	0
20972471	166417880321151787344360902130440589417	test/file_1GB	19	5242880	1522285434598788	2018-03-29 10:03:54 +0900	0
26215505	268536759083058393990019188352786064537	test/file_1GB	31	5242880	1522285437413219	2018-03-29 10:03:57 +0900	0
31458539	278618830521374786094725592748409623673	test/file_1GB	33	5242880	1522285438097072	2018-03-29 10:03:58 +0900	0
36701573	114816429891790935552511443427559353515	test/file_1GB	37	5242880	1522285439118999	2018-03-29 10:03:59 +0900	0
41944607	85769525150915940020370221440342730189	test/file_1GB	37	15728640	1522285439191737	2018-03-29 10:03:59 +0900	0
41944759	298479012250856665611706700783095201267	test/file_1GB	44	5242880	1522285440615661	2018-03-29 10:04:00 +0900	0
47187793	12664150480048105875386047002397258994	test/file_1GB	50	5242880	1522285441925969	2018-03-29 10:04:01 +0900	0
52430827	238065050194271016922439178450212854493	test/file_1GB	52	15728640	1522285442553881	2018-03-29 10:04:02 +0900	0
52430979	16886535806557305286170628988802763034	test/file_1GB	53	5242880	1522285442764862	2018-03-29 10:04:02 +0900	0
57674013	331888936133998110300882593133273152655	test/file_1GB	54	5242880	1522285443057577	2018-03-29 10:04:03 +0900	0
62917047	48126647012254218031812515268323297179	test/file_1GB	58	15728640	1522285444102803	2018-03-29 10:04:04 +0900	0
62917199	32308164392231883235045453570221946930	test/file_1GB	62	5242880	1522285444905634	2018-03-29 10:04:04 +0900	0
68160233	105342997577541237029184448003898300443	test/file_1GB	62	5242880	1522285445025065	2018-03-29 10:04:05 +0900	0
73403267	313915305243396001442467212672392147526	test/file_1GB	64	5242880	1522285445362256	2018-03-29 10:04:05 +0900	0
@yosukehara
Copy link
Member Author

We've recognized that this issue's root cause is #1017.

@yosukehara
Copy link
Member Author

Closed because we fixed #1017.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant