tensorflow / tensorflow/tensorboard
hparams: sends 4 requests when hparams data is missing
Open
Nobody has claimed this yet.
core:frontend
plugin:hparams
- Dominant language
- TypeScript
- Stars
- 7.2k
- Forks
- 1.7k
- Avg merge
- 4d 22h
- Merged PRs (30d)
- 1
Description
Repro steps:
- launch TB on an empty logdir
- open your favorite dev tools
- open the hparams dashboard
- notice 4 requests to
/data/plugin/hparams/experiment
Description: not a bug per say but this is an inefficiency.
Cause:
- requestManager has a retry mechanism and # of retries are determined by the setting: https://github.com/tensorflow/tensorboard/blob/5214b0822af46de61091eca608c59ab2fd0fbdc2/tensorboard/components/tf_backend/requestManager.ts#L109
- hparams dashboard uses the requqestManager: https://github.com/tensorflow/tensorboard/blob/5214b0822af46de61091eca608c59ab2fd0fbdc2/tensorboard/plugins/hparams/tf_hparams_backend/tf-hparams-backend.ts#L66-L79
- requestManager retries on non-200: https://github.com/tensorflow/tensorboard/blob/5214b0822af46de61091eca608c59ab2fd0fbdc2/tensorboard/components/tf_backend/requestManager.ts#L244
Ideal changes:
- we retry only when error status is
status < 100 || status >= 500
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with tensorboard/components/tf_backend/requestManager.ts, especially the retry setting and non-200 handling, then inspect tensorboard/plugins/hparams/tf_hparams_backend/tf-hparams-backend.ts. Reproduce the empty-logdir case in the hparams dashboard and verify that retries occur only for statuses below 100 or at least 500, avoiding the four repeated requests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100