Skip to content

Conversation

@wchargin
Copy link
Contributor

Summary:
Fixes #2579, and fixes a few unreported bugs regarding run deletions.
These caches were broken, because the underlying data could change but
the caches were never updated or invalidated. The behavior that they
memoize over is not very expensive (a few shallow copies and parsing of
small proto messages), so we simply remove the caches in favor of direct
access. If this proves to be too expensive, then we can look into more
carefully reinstating the caches.

Test Plan:

  1. Run the mesh demo to generate data into mesh_demo/run1 with tag
    mesh1.
  2. Start TensorBoard pointing at mesh_demo. Verify that the mesh
    appears.
  3. Generate test data into mesh_demo/run1 with tag mesh2, then
    again into mesh_demo/run2 with tag mesh2.
  4. Click TensorBoard’s refresh button, or reload the page, and note
    that the new meshes appear.
  5. Remove the mesh_demo/run1 directory.
  6. Reload TensorBoard, and verify that only one mesh remains, under the
    correct run.

wchargin-branch: mesh-cache-remove

Summary:
This is a small refactoring to encapsulate direct access to a few
private caches into methods.

Test Plan:
The mesh dashboard still appears to work fine with the standard demo
dataset.

wchargin-branch: mesh-cache-encapsulate
wchargin-source: 297bb38b043c1b48e33d4daccc80123226f249bf
Summary:
Fixes #2579, and fixes a few unreported bugs regarding run deletions.
These caches were broken, because the underlying data could change but
the caches were never updated or invalidated. The behavior that they
memoize over is not very expensive (a few shallow copies and parsing of
small proto messages), so we simply remove the caches in favor of direct
access. If this proves to be too expensive, then we can look into more
carefully reinstating the caches.

Test Plan:

 1. Run the mesh demo to generate data into `mesh_demo/run1` with tag
    `mesh1`.
 2. Start TensorBoard pointing at `mesh_demo`. Verify that the mesh
    appears.
 3. Generate test data into `mesh_demo/run1` with tag `mesh2`, then
    again into `mesh_demo/run2` with tag `mesh2`.
 4. Click TensorBoard’s refresh button, or reload the page, and note
    that the new meshes appear.
 5. Remove the `mesh_demo/run1` directory.
 6. Reload TensorBoard, and verify that only one mesh remains, under the
    correct run.

wchargin-branch: mesh-cache-remove
wchargin-source: 8887de11f50603d4d4a2352e17c8632d42a7f825
Copy link
Contributor

@nfelt nfelt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this!

@wchargin wchargin changed the base branch from wchargin-mesh-cache-encapsulate to master December 21, 2019 05:56
wchargin-branch: mesh-cache-remove
wchargin-source: 0483d8d5d48cb83fd09318f199942e147e9c04f9
wchargin-branch: mesh-cache-remove
wchargin-source: 0483d8d5d48cb83fd09318f199942e147e9c04f9
wchargin-branch: mesh-cache-remove
wchargin-source: 7faff50990298b1449f70c5d22360d52eb3b2341
wchargin-branch: mesh-cache-remove
wchargin-source: 7faff50990298b1449f70c5d22360d52eb3b2341
@wchargin wchargin merged commit 748fb54 into master Dec 26, 2019
@wchargin wchargin deleted the wchargin-mesh-cache-remove branch December 26, 2019 21:00
@wchargin wchargin restored the wchargin-mesh-cache-remove branch December 26, 2019 21:00
@wchargin wchargin deleted the wchargin-mesh-cache-remove branch December 26, 2019 21:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Mesh plugin hits KeyError when new mesh summary tags are added to a run

3 participants