linkedin / linkedin/ambry

Ensure chunk filler goes to sleep when active operations do not have any data

Open
#400 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Java
Stars
1.8k
Forks
298
Avg merge
21h 43m
Merged PRs (30d)
9

Description

Currently PutManager ChunkFiller goes into WAITING when there are no active operations (when there are no running operations that have started getting any data from the channel).

This can be improved so that the chunk filler goes to sleep when data stops arriving after it starts to arrive. This can get a little tricky and involved as we need to ensure that chunk filler gets notified in all the paths. For example, if data arrives and there are no chunks available to be filled, then when chunks eventually become available, the chunk filler should be notified.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing PutManager's ChunkFiller state transitions, especially the WAITING behavior when operations have no data. Review the data-arrival and chunk-availability paths mentioned in the issue, then verify that the filler sleeps after data stops and is notified whenever new data or fillable chunks become available.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
backend, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.