Repository navigation
Conversation
Use the Python interpreter to verify initial values received before output creation, server-to-UI updates, native Angular edits reaching the original server model, and object removal.
|
Each paragraph receives the same server message and then refreshes all paragraphs again, resulting in 400 context-change events for 20 paragraphs. Please refer to this proposal branch, which changes server updates to refresh only the receiving paragraph. On the proposal branch, I verified initial value display, bidirectional updates, and binding removal against a real server. |
|
Fixed two additional issues:
|
|
I reproduced a case against a real server where an AngularObject value remains visible after restarting the interpreter and clicking "Reload from note file", even though the binding no longer exists on the server. Editing the value then changes only the UI; the update is not applied on the server and an error is returned. The |
What is this PR for?
This PR fixes notebook-scoped
AngularModelvalues not appearing in%angularoutput in the Angular-based New UI.The server sends notebook-scoped updates without a
paragraphId. The existing consumer only accepts updates whoseparagraphIdmatches the current paragraph, so it discards these updates even though both paragraphs finish successfully.The fix:
What type of PR is it?
Bug Fix
What is the Jira issue?
How should this be tested?
From
zeppelin-web-angular, run the affected consumer and SDK tests:Check the SDK contracts and build the Angular application:
For the server-side removal change, run
NotebookServerTest#interpreterRemovalPreservesGroupAndRoutesAllScopesusing the project's server-test setup. It checks interpreter-group metadata and notebook/global removal routing.Manual testing
Use the Angular-based New UI with a working Spark interpreter.
Verify that the output displays
value=hello.3. Update and then remove the model from Spark:
%spark controlValue.remove()Verify that the output changes to
value=updatedand then clears the value.Scope isolation, native UI-to-server updates, output recreation, and navigation cases are covered by the regression tests listed above.
Questions: