linkedin / linkedin/avro-util

generate unique new SpecificData for every generated class for MODEL$

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

Nobody has claimed this yet.

bug helper
Dominant language
Java
Stars
87
Forks
73
Avg merge
2h 50m
Merged PRs (30d)
1

Description

we currently generate

MODEL$ = SpecificData.get();

while vanilla (modern) avro generates

MODEL$ = new SpecificData();

but under 1.11.0 this can cause deadlocks over access to classcache. upstream avro might have fixed this in https://issues.apache.org/jira/browse/AVRO-3243 but we should move to unique MODEL$s if possible.

this would mean a helper method to create a new SpecificData if possibe given avro runtime version

Contributor guide

Open the contributing guide

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 where generated classes assign MODEL$ and review the SpecificData usage described in the issue, including the linked AVRO-3243 context. Determine how the helper can select a new SpecificData across supported Avro runtime versions; done means generated classes use unique MODEL$ instances where possible without breaking compatibility or reintroducing classcache deadlocks.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
tooling
Issue type
Bug
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.