Skip to content

[ZEPPELIN-6451] Add default NotebookRepo settings methods to remove duplicated placeholder implementations - #5411

Open
Coen90 wants to merge 1 commit into
apache:masterfrom
Coen90:ZEPPELIN-6451-default-notebookrepo-settings
Open

[ZEPPELIN-6451] Add default NotebookRepo settings methods to remove duplicated placeholder implementations#5411
Coen90 wants to merge 1 commit into
apache:masterfrom
Coen90:ZEPPELIN-6451-default-notebookrepo-settings

Conversation

@Coen90

@Coen90 Coen90 commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

What is this PR for?

Several NotebookRepo implementations (S3, GCS, OSS, Azure, Mongo, FileSystem, InMemory) duplicated the same placeholder code for getSettings / updateSettings — returning an empty list or logging "Method not implemented".

This PR centralizes that placeholder behavior as default methods on the NotebookRepo interface:

  • getSettings returns an empty list and logs at DEBUG level (querying settings is a normal read path, so it should not produce warning noise).
  • updateSettings is a no-op and logs at WARN level (an ignored update attempt is worth surfacing).

All duplicated overrides are removed from the plugin repos, InMemoryNotebookRepo, and the test helper repos in NotebookTest. Repos with real settings logic (e.g. VFSNotebookRepo, GitNotebookRepo) keep their own overrides and are unaffected. Since these are default interface methods, existing third-party NotebookRepo implementations remain source- and binary-compatible.

What type of PR is it?

Refactoring

Todos

  • - Add default getSettings / updateSettings implementations to NotebookRepo
  • - Remove duplicated placeholder overrides from S3 / GCS / OSS / Azure / Mongo / FileSystem / InMemory repos and test helpers

What is the Jira issue?

How should this be tested?

  • Pure refactoring with behavior preserved — the existing zeppelin-server test suite covers the affected code paths:
    ./mvnw test -pl zeppelin-server -am
  • CI should pass.

Screenshots (if appropriate)

Questions:

  • Does the license files need to update? No
  • Is there breaking changes for older versions? No — default methods keep existing implementations compatible; the only visible change is the log level/message of the placeholder behavior.
  • Does this needs documentation? No

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants