yuqi1129 commented on PR #12293:
URL: https://github.com/apache/gravitino/pull/12293#issuecomment-6462196666

   The auth-readiness change looks reasonable, but I think we need to 
distinguish it from the failure reported in #12281 before treating this PR as 
its fix.
   
   The existing Redux `fetchMetalakes` condition prevents a request before 
authentication is ready, but does not automatically retry a skipped request. 
Adding `isAuthReady` to these effects can therefore be useful: it triggers the 
fetch when authentication becomes ready even if the pathname has not changed. 
Could we add a regression test for that transition, including OAuth with a 
delayed token?
   
   I also ran the original `CatalogsPageTest` class against latest main 
`eb11e9e1c7c435bccde4943e0fe1ce9c0f4753f2`, with Web V2 explicitly verified in 
the server startup log, Docker dependencies, Chrome/ChromeDriver 145.0.7632.46, 
and Java 17.0.8 on macOS arm64. `testSelectMetalake()` still failed, but this 
run exposed a different failure from the original issue:
   
   ```text
   CatalogsPageTest > testSelectMetalake() FAILED
   AssertionFailedError: expected: <true> but was: <false>
     at CatalogsPageTest.testSelectMetalake(CatalogsPageTest.java:602)
   
   StaleElementReferenceException: stale element not found in the current frame
     Command: isElementDisplayed
     at CatalogsPage.verifyEmptyTableData(CatalogsPage.java:1080)
   ```
   
   The helper first obtains a visible empty-state element with 
`wait.until(visibilityOfElementLocated(...))`, then calls 
`emptyElement.isDisplayed()` again. The failure occurred in that second call 
after a DOM replacement. The catch converts it to `false`. This failed after 
about 8 seconds, rather than the 60-second timeout in #12281.
   
   Could you also look at making the empty-state check resilient to 
re-rendering, by resolving and checking the element within the polling 
condition, retrying stale references, and avoiding the redundant post-wait 
element access? It should also verify that the target metalake has actually 
been selected.
   
   This run was on main, not on this PR's head, so it does not demonstrate 
whether the auth change fixes the original timeout. There was also an earlier, 
separate 5-second schema-list wait failure in `testClickCatalogLink()`. The 
target test did execute; after it failed, its switch-back step was skipped, so 
I stopped the remaining dependent cases rather than reporting a complete suite 
result. No production fix was applied during the reproduction.
   
   I would keep the auth-readiness improvement scoped and tested as such, 
investigate the stale-element failure separately, and avoid claiming the 
original timeout is resolved until it is validated.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to