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

S5: Large Bulk Loads into an S5 DB faile due to limited node cache #789

Closed
HerbertJordan opened this issue Mar 12, 2024 · 2 comments
Closed
Assignees
Labels
bug Something isn't working s5 scheme 5 - MPT wontfix This will not be worked on workaround exists

Comments

@HerbertJordan
Copy link
Collaborator

Right now, large bulk loads need to be split into smaller bulk loads distributed over multiple blocks because Carmen S5 has a limit number of modifications per block (see #686). This is not documented in the Carmen Facade.

Ideally this limitation is removed by enabling arbitrary large bulk load operations on a single block on S5 structures.

@HerbertJordan HerbertJordan added the bug Something isn't working label Mar 12, 2024
@kjezek kjezek added s5 scheme 5 - MPT workaround exists labels Apr 3, 2024
@cabrador cabrador self-assigned this Apr 9, 2024
@HerbertJordan
Copy link
Collaborator Author

Here is a test to reproduce the issue (assuming to be located somewhere in the carmen package):

func TestDatabase_CanRunLargeBulkLoads(t *testing.T) {
	db, err := OpenDatabase(
		t.TempDir(),
		GetCarmenGoS5WithoutArchiveConfiguration(),
		Properties{
			LiveDBCache: "10000", // bytes
		},
	)
	if err != nil {
		t.Fatalf("failed to create database: %v", err)
	}
	defer db.Close()

	load, err := db.StartBulkLoad(0)
	if err != nil {
		t.Fatalf("failed to start bulk load: %v", err)
	}

	for i := 0; i < 10_000; i++ {
		load.SetNonce(Address{byte(i >> 8), byte(i)}, 12)
	}

	if err := load.Finalize(); err != nil {
		t.Fatalf("failed to finish bulk load: %v", err)
	}
}

@cabrador cabrador self-assigned this Apr 19, 2024
@cabrador cabrador added the wontfix This will not be worked on label Apr 23, 2024
@cabrador
Copy link
Contributor

This code will become deprecated soon, as genesis files are being introduced for priming and its only usage is in Aida.

@HerbertJordan HerbertJordan closed this as not planned Won't fix, can't repro, duplicate, stale Apr 23, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working s5 scheme 5 - MPT wontfix This will not be worked on workaround exists
Projects
None yet
Development

No branches or pull requests

3 participants