Публічний реєстр
Звіт про здоров'я програмного забезпеченнясхема 0.23.0 · метрики 1.13.0 · 2026-07-21 20:20 UTC

apache / uniffle

Uniffle is a high performance, general purpose Remote Shuffle Service.

JavaApache-2.0★ 451 зірка⑂ 170 форківз черв. 2022 р.Переглянути на GitHub ↗

apache/uniffle має індекс здоров’я 78 зі 100, що відповідає смузі «Добрий». Найвищий показник — Engineering Quality (87/100), найнижчий — Security (54/100). Останнє оновлення було 5 днів тому. Більшість нещодавньої роботи виконують 5 учасників.

78
загалом / 100
Добрий

Індекс здоров'я програмного забезпечення

Метрики згруповано у зважені категорії на шкалі 1–100. Загальна оцінка починається як їхнє середнє; коли публічні дані активують Політику юрисдикцій високого ризику, рейтинг коригується й отримує верхню межу 49 («Під ризиком»). Готовність до ШІ не входить до індексу.

78
Відмінний85-100Зразковий; відповідає практично всім перевіреним критеріям
Добрий70-84Здоровий; незначні прогалини
Помірний50-69Прийнятний, але з помітними прогалинами; рекомендовано перевірку
У зоні ризику30-49Суттєві слабкі місця; впровадження потребує обережності
Критичний1-29Серйозні проблеми (покинутий, єдиний мейнтейнер, без базової гігієни)
ЖиттєздатністьСпільнота тавпровадженняСталість таврядуванняІнженернаякістьБезпекаГотовність доШІ

Профіль оцінок

Кожна вісь — окрема категорія. Форма важить більше, ніж середнє: здоровий об'єкт заповнює всю фігуру, тоді як профіль із піками та провалами означає, що сила в одному вимірі маскує ризик в іншому.

Власність

The Apache Software FoundationОрганізація
23 511 підписників3 146 публічних репозиторіївз січ. 2009 р.

За цим репозиторієм стоїть організація — спільна, підзвітна опіка, здатна пережити будь-якого окремого мейнтейнера.

Метрики за категоріями

Життєздатність

Чи живий проєкт — чи пишеться код і чи виходять релізи?

80Добрий · 22% загального індексу
Як обчислюється оцінка
36/36Свіжість push — останній push 5 дн. тому
26.3/36Ритм комітів — 38/52 тижнів із комітами
18/18Обсяг комітів — 115 комітів за останній рік
10/10OpenSSF Scorecard: Maintained — 10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
Використані вхідні дані
commits_last_year115
human_commit_share1
days_since_last_push5
active_weeks_last_year38
Як обчислюється оцінка
27/27Випускає релізи — опубліковано 9 релізів
16.2/36Свіжість релізів — останній реліз 299 дн. тому
12.6/27Ритм релізів — реліз кожні ~133 дн.
8/10OpenSSF Scorecard: Signed-Releases — 2 out of the last 2 releases have a total of 2 signed artifacts.
Використані вхідні дані
releases_count9
latest_release_tagv0.10.0
releases_from_tagsні
days_since_latest_release299
mean_days_between_releases133

Спільнота та впровадження

Чи має проєкт користувачів, завантаження, увагу та влаштовані умови для контриб’юторів?

79Добрий · 18% загального індексу
Як обчислюється оцінка
43/60Зірки — 451 зірок
18.6/25Форки — 170 форків
6.5/15Спостерігачі — 16 спостерігачів
Використані вхідні дані
forks170
stars451
watchers16
growth_stateorganic
growth_factor_pct100
Як обчислюється оцінка
22.5/22.5README
22.5/22.5Ліцензія — визнана ліцензія (Apache-2.0)
18/18Настанови CONTRIBUTING
13.5/13.5Кодекс поведінки
0/7.2Шаблон issue
6.3/6.3Шаблон PR
Використані вхідні дані
has_readmeтак
has_licenseтак
has_contributingтак
has_issue_templateні
has_code_of_conductтак
has_pull_request_templateтак

Сталість та врядування

Чи переживе проєкт своїх людей — бас-фактор, реактивність, хто за ним стоїть і як супроводжуються пакети?

84Добрий · 24% загального індексу
Як обчислюється оцінка
45.9/54Бас-фактор — на 5 контриб’ютор(ів) припадає половина всіх комітів
17.5/22.5Розподіл комітів — головний контриб’ютор — автор 22% комітів
13.5/13.5Широта контриб’юторів — 77 контриб’юторів
10/10OpenSSF Scorecard: Contributors — project has 12 contributing companies or organizations
Використані вхідні дані
bus_factor5
contributors_sampled77
top_contributor_share0,223
Як обчислюється оцінка
35.2/46.8Вирішення issue — закрито 75% issue
33.5/38.3Прийняття PR — злито 1 376/1 571 вирішених PR
15/15OpenSSF Scorecard: Code-Review — all changesets reviewed
Використані вхідні дані
merged_prs1 376
open_issues269
closed_issues826
issue_closed_ratio0,754
closed_unmerged_prs195
Як обчислюється оцінка
30/30Підтримка власника — у власності організації
0/20Верифікований домен
25/25Охоплення власника — 23 511 підписників у apache
25/25Послужний список — 3 146 публічних репозиторіїв, вік облікового запису ~17 р.
Використані вхідні дані
followers23 511
owner_typeOrganization
is_verified
owner_loginapache
public_repos3 146
account_age_days6 394

Інженерна якість

Чи наявні базові інженерні практики та документація?

87Відмінний · 20% загального індексу
Як обчислюється оцінка
24/24Процеси CI — 7 процес(ів) CI
24/24Наявні тести
16/16Конфігурація лінтера — .eslintrc.js
0/9.6Pre-commit-хуки
0/6.4.editorconfig
14/20OpenSSF Scorecard: CI-Tests — 22 out of 30 merged PRs checked by a CI test -- score normalized to 7
Використані вхідні дані
has_ciтак
has_testsтак
has_editorconfigні
has_linter_configтак
has_precommit_configні

Документація

100Відмінний
Як обчислюється оцінка
30/30README
25/25Каталог документації
15/15Сайт документації / домашня сторінка — https://uniffle.apache.org/
10/10Опис репозиторію
10/10Теми — 6 тем
10/10Wiki
Використані вхідні дані
topicsmapreduce, shuffle, spark, remote-shuffle-service, rss, tez
has_wikiтак
homepagehttps://uniffle.apache.org/
has_readmeтак
has_docs_dirтак
has_descriptionтак

Безпека

Чи міцні видимі практики безпеки й ланцюга постачання, без непослабленої пов’язаності з юрисдикціями високого ризику?

54Помірний · 16% загального індексу

Стан безпеки

63Помірний
Як обчислюється оцінка
7.5/7.5Binary-Artifacts — no binaries found in the repo
0/7.5Branch-Protection — немає даних
1.8/2.5CI-Tests — 22 out of 30 merged PRs checked by a CI test -- score normalized to 7
0/2.5CII-Best-Practices — no effort to earn an OpenSSF best practices badge detected
7.5/7.5Code-Review — all changesets reviewed
2.5/2.5Contributors — project has 12 contributing companies or organizations
10/10Dangerous-Workflow — no dangerous workflow patterns detected
7.5/7.5Dependency-Update-Tool — update tool detected
0/5Fuzzing — project is not fuzzed
2.5/2.5Ліцензія — license file detected
7.5/7.5Maintained — 10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
0/5Packaging — немає даних
0.5/5Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
0/5SAST — SAST tool is not run on all commits -- score normalized to 0
5/5Security-Policy — security policy file detected
6/7.5Signed-Releases — 2 out of the last 2 releases have a total of 2 signed artifacts.
0/7.5Token-Permissions — detected GitHub workflow tokens with excessive permissions
0/7.5Vulnerabilities — 111 existing vulnerabilities detected
Використані вхідні дані
sourceopenssf_scorecard
checks_evaluated16
scorecard_versionv5.5.0
checks_inconclusive2
scorecard_aggregate6,3
Виключено з оцінювання (немає даних або не застосовно): branch_protection, packaging. Залишкові ваги перенормовано.
Як обчислюється оцінка
2.5/35Прямі залежності без відомих сповіщень — уражено 13: org.apache.hadoop:hadoop-common 2.8.5 (critical 9.8), com.fasterxml.jackson.core:jackson-core 2.10.0 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.10.0 (high 8.1), ще +10
0/25Непрямі залежності без відомих сповіщень — транзитивний набір не відокремлюється від залежностей розробки й тестування в цьому обсязі
12/40Немає задавнених сповіщень — 13 пакет(ів) зі сповіщеннями без реакції понад 90 дн.; найдавніше опубліковано 2 672 дн. тому
Використані вхідні дані
sourceosv
advisories78
affected_packages19
assessed_packages190
unassessed_packages125
affected_by_severitycritical 1, high 10, moderate 5, low 1, unknown 2
direct_affected_packages13
Виключено з оцінювання (немає даних або не застосовно): Непрямі залежності без відомих сповіщень. Залишкові ваги перенормовано. Звірено 190 резолвлених залежностей із OSV. 125 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза межами звітованого переліку пакетів. Цей репозиторій не публікує пакета, який резолвить індекс, тож натомість оцінено граф залежностей репозиторію. Цей граф змішує закріплені версії для розробки й тестування зі справді постачаними залежностями, тож оцінюються лише задекларовані runtime-залежності; транзитивні знахідки подаються як контекст і в оцінку не входять. Досяжність не аналізується.

Готовність до ШІ

Наскільки репозиторій оснащений для розробки та супроводу за участі ШІ-агентів? Незалежний, експериментальний бейдж — вага 0.0, тож він подається окремо і не впливає на загальний індекс здоров'я.

69Помірний · 0% загального індексу
Як обчислюється оцінка
0/45Інструкції для агентів — немає CLAUDE.md / AGENTS.md / правил редактора
0/15Машиночитана документація (llms.txt)
40/40Читабельна історія комітів — намір зазначено у 99 з 100 людських комітів (структурований заголовок або пояснювальний текст)
Використані вхідні дані
has_llms_txtні
legible_history_share0,99
agent_instruction_files
agent_instruction_max_bytes
Як обчислюється оцінка
18/18Розгортання однією командою — deploy/kubernetes/operator/Makefile
22/22Автоматизовані тести
11/11Конфігурація лінтера / форматера — .eslintrc.js
11/11Статична перевірка типів — dashboard/src/main/webapp/jsconfig.json
10/10Відтворюване середовище — Dockerfile, lockfile
2/10Підтверджена практика роботи з агентами — 1 з останніх 100 комітів створено агентом або з його зазначенням
0/8Автоматизоване супроводження — автоматичних оновлень залежностей не виявлено
1/10OpenSSF Scorecard: Pinned-Dependencies — dependency not pinned by hash detected -- score normalized to 1
Використані вхідні дані
has_nixні
has_testsтак
lockfilesgo.sum
has_dockerfileтак
typed_languageтак
bootstrap_filesdeploy/kubernetes/operator/Makefile
has_devcontainerні
has_linter_configтак
typecheck_configsdashboard/src/main/webapp/jsconfig.json
agent_commit_share0,01
toolchain_manifestscli/pom.xml, client-mr/core/pom.xml, client-mr/hadoop2.8/pom.xml, client-mr/hadoop3.2/pom.xml, client-spark/common/pom.xml, client-spark/extension/pom.xml, client-spark/spark2-shaded/pom.xml, client-spark/spark2/pom.xml, client-spark/spark3-shaded/pom.xml, client-spark/spark3/pom.xml, client-spark/spark4-shaded/pom.xml, client-spark/spark4/pom.xml, client-tez/pom.xml, client/pom.xml, common/pom.xml, coordinator/pom.xml, dashboard/pom.xml, deploy/kubernetes/operator/go.mod, deploy/kubernetes/pom.xml, integration-test/common/pom.xml, integration-test/mr/pom.xml, integration-test/spark-common/pom.xml, integration-test/spark2/pom.xml, integration-test/spark3/pom.xml, integration-test/spark4/pom.xml, integration-test/tez/pom.xml, internal-client/pom.xml, pom.xml, proto/pom.xml, server-common/pom.xml, server/pom.xml, storage/pom.xml, tools/client-simulation-yarn/pom.xml
dependency_bot_commit_share0
Як обчислюється оцінка
45/45Типізований код — Java (статично типізована)
54.9/55Керовані розміри файлів — 3/1 117 файлів вихідного коду понад 60 КБ
Використані вхідні дані
primary_languageJava
largest_source_bytes75 572
source_files_sampled1 117
oversized_source_files3
Як обчислюється оцінка
40/40Схема API (OpenAPI/GraphQL/proto) — proto/src/main/proto/Rss.proto
0/20Сервер MCP
40/40Придатні до запуску приклади — examples, samples
Використані вхідні дані
example_dirsexamples, samples
has_mcp_signalні
api_schema_filesproto/src/main/proto/Rss.proto

Ключові факти

451зірок GitHub
77контриб'юторів
115комітів за останні 12 місяців
5днів від останнього пушу
9релізів
5бас-фактор
269відкритих issue
Mavenпакетних екосистем

Попередження щодо збору даних

  • Could not fetch maven package 'org.apache.uniffle:cli' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-proto' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-common' from its registry
  • Could not fetch maven package 'org.apache.uniffle:shuffle-server' from its registry
  • Could not fetch maven package 'org.apache.uniffle:shuffle-storage' from its registry
  • Could not fetch maven package 'org.apache.uniffle:dashboard' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client-tez' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client-mr' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-kubernetes' from its registry
  • Could not fetch maven package 'org.apache.uniffle:hadoop2.8-shim' from its registry
  • Could not fetch maven package 'org.apache.uniffle:hadoop3.2-shim' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client-spark-common' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client-spark2' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client-spark3' from its registry
  • Could not fetch maven package 'org.apache.uniffle:rss-client-spark4' from its registry

Докладніше

Історія зірок і форків 451 ★ / 170 ⇿
451Зірки
170Форки
9Релізи

Коли додано кожну зірку й форк — зібрано з GitHub і згруповано за днями. Кумулятивне зростання розміщено просто над денними додаваннями, з яких воно складається, тож їх видно одне проти одного: рівномірне органічне накопичення виглядає зовсім інакше, ніж різкий короткочасний сплеск. Там, де цю різницю можна виміряти, її подано як автентичність росту.

0100200300400500450163282022-062024-072026-07
Мажорні 0Мінорні 5Патчі 2

Кожна точка охоплює 4 днів.

OpenSSF Scorecard 6.3 / 10
6.3сукупно

Незалежна, не прив'язана до інструментів оцінка безпеки від відкритого проєкту OpenSSF Scorecard. Кожна перевірка винагороджує практику безпеки, а не інструмент конкретного постачальника. Перевірки, які Scorecard не зміг визначити, позначено н/д і виключено з оцінки безпеки (вони ніколи не зараховуються як нуль).Scorecard v5.5.0 · 2026-07-21 20:19 UTC

10Binary-Artifactsno binaries found in the repo
н/дBranch-Protectioninternal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md
7CI-Tests22 out of 30 merged PRs checked by a CI test -- score normalized to 7
0CII-Best-Practicesno effort to earn an OpenSSF best practices badge detected
10Code-Reviewall changesets reviewed
10Contributorsproject has 12 contributing companies or organizations
10Dangerous-Workflowno dangerous workflow patterns detected
10Dependency-Update-Toolupdate tool detected
0Fuzzingproject is not fuzzed
10Licenselicense file detected
10Maintained10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10
н/дPackagingpackaging workflow not detected
1Pinned-Dependenciesdependency not pinned by hash detected -- score normalized to 1
0SASTSAST tool is not run on all commits -- score normalized to 0
10Security-Policysecurity policy file detected
8Signed-Releases2 out of the last 2 releases have a total of 2 signed artifacts.
0Token-Permissionsdetected GitHub workflow tokens with excessive permissions
0Vulnerabilities111 existing vulnerabilities detected
Прямі залежності 280
РеєстрПакетОбмеження версіїМаніфест
Mavenorg.apache.uniffle:rss-commoncli/pom.xml
Mavencommons-cli:commons-clicli/pom.xml
Mavenorg.apache.uniffle:rss-internal-clientcli/pom.xml
Mavenorg.apache.httpcomponents:httpclientcli/pom.xml
Mavenorg.apache.tez:tez-common${tez.version}client-tez/pom.xml
Mavenorg.apache.tez:tez-runtime-library${tez.version}client-tez/pom.xml
Mavenorg.apache.tez:tez-runtime-internals${tez.version}client-tez/pom.xml
Mavenorg.apache.tez:tez-dag${tez.version}client-tez/pom.xml
Mavenorg.apache.tez:tez-api${tez.version}client-tez/pom.xml
Mavenorg.apache.uniffle:rss-clientclient-tez/pom.xml
Mavenorg.apache.commons:commons-lang3client-tez/pom.xml
Mavenorg.lz4:lz4-javaclient-tez/pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}client-tez/pom.xml
Mavenorg.apache.hadoop:hadoop-commonclient-tez/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core${hadoop.version}client-tez/pom.xml
Mavenorg.apache.uniffle:shuffle-storageclient/pom.xml
Mavenorg.apache.hadoop:hadoop-commonclient/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclusterclient/pom.xml
Mavenorg.apache.uniffle:rss-protocommon/pom.xml
Maveninfo.picocli:picoclicommon/pom.xml
Mavenio.prometheus:simpleclientcommon/pom.xml
Mavenio.prometheus:simpleclient_hotspotcommon/pom.xml
Mavenio.prometheus:simpleclient_httpservercommon/pom.xml
Mavenio.prometheus:simpleclient_jettycommon/pom.xml
Mavenio.prometheus:simpleclient_servletcommon/pom.xml
Mavenio.prometheus:simpleclient_pushgatewaycommon/pom.xml
Mavencom.fasterxml.jackson.core:jackson-databindcommon/pom.xml
Mavenorg.roaringbitmap:RoaringBitmapcommon/pom.xml
Mavenorg.lz4:lz4-javacommon/pom.xml
Mavenorg.apache.commons:commons-lang3common/pom.xml
Mavenorg.apache.commons:commons-collections4common/pom.xml
Mavenio.netty:netty-allcommon/pom.xml
Mavenio.grpc:grpc-netty-shadedcommon/pom.xml
Mavenorg.apache.hadoop:hadoop-commoncommon/pom.xml
Mavenorg.apache.hadoop:hadoop-minikdccommon/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclustercommon/pom.xml
Mavenorg.eclipse.jetty:jetty-servletcommon/pom.xml
Mavenorg.eclipse.jetty:jetty-servercommon/pom.xml
Mavenorg.eclipse.jetty:jetty-utilcommon/pom.xml
Mavenorg.eclipse.jetty:jetty-proxycommon/pom.xml
Mavenorg.apache.hbase.thirdparty:hbase-shaded-jerseycommon/pom.xml
Mavencom.esotericsoftware:kryo-shadedcommon/pom.xml
Mavenorg.apache.uniffle:rss-server-commoncoordinator/pom.xml
Mavenorg.apache.uniffle:rss-internal-clientcoordinator/pom.xml
Mavencom.google.protobuf:protobuf-java-utilcoordinator/pom.xml
Mavenio.grpc:grpc-netty-shadedcoordinator/pom.xml
Mavenio.grpc:grpc-protobufcoordinator/pom.xml
Mavenio.grpc:grpc-stubcoordinator/pom.xml
Mavenorg.apache.commons:commons-lang3coordinator/pom.xml
Mavenorg.apache.commons:commons-collections4coordinator/pom.xml
Mavenorg.apache.hadoop:hadoop-commoncoordinator/pom.xml
Mavenorg.mockito:mockito-inlinecoordinator/pom.xml
Mavenorg.yaml:snakeyamlcoordinator/pom.xml
Mavenorg.projectlombok:lombokcoordinator/pom.xml
Mavenorg.apache.uniffle:rss-server-commondashboard/pom.xml
Mavenorg.projectlombok:lombokdashboard/pom.xml
Mavenorg.apache.uniffle:rss-commoninternal-client/pom.xml
Mavenio.grpc:grpc-netty-shadedinternal-client/pom.xml
Mavenjavax.activation:activation1.1.1pom.xml
Mavencom.google.errorprone:error_prone_annotationspom.xml
Mavencom.github.spotbugs:spotbugs-annotationspom.xml
Mavenorg.slf4j:slf4j-apipom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j-implpom.xml
Mavenorg.apache.logging.log4j:log4j-apipom.xml
Mavenorg.apache.logging.log4j:log4j-corepom.xml
Mavencom.google.protobuf:protobuf-java-util${protobuf.version}pom.xml
Mavenio.grpc:grpc-netty-shaded${grpc.version}pom.xml
Mavenio.grpc:grpc-protobuf${grpc.version}pom.xml
Mavenio.grpc:grpc-stub${grpc.version}pom.xml
Mavencom.google.code.gson:gson${gson.version}pom.xml
Mavenio.netty:netty-all${netty.version}pom.xml
Mavencom.google.guava:guava${guava.version}pom.xml
Mavenio.dropwizard.metrics:metrics-core${metrics.version}pom.xml
Mavenjavax.annotation:javax.annotation-api${javax.annotation.version}pom.xml
Mavenorg.apache.uniffle:rss-proto${project.version}pom.xml
Mavenorg.apache.uniffle:rss-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-internal-client${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client${project.version}pom.xml
Mavenorg.apache.uniffle:rss-server-common${project.version}pom.xml
Mavenorg.apache.uniffle:shuffle-server${project.version}pom.xml
Mavenorg.apache.uniffle:cli${project.version}pom.xml
Mavenorg.apache.uniffle:coordinator${project.version}pom.xml
Mavenorg.apache.uniffle:shuffle-storage${project.version}pom.xml
Mavencommons-logging:commons-logging${commons-logging.version}pom.xml
Mavenorg.apache.commons:commons-lang3${commons-lang3.version}pom.xml
Mavenorg.apache.commons:commons-collections4${commons-collections4.version}pom.xml
Mavencommons-codec:commons-codec${commons-codec.version}pom.xml
Mavenorg.apache.uniffle:shuffle-storage${project.version}pom.xml
Mavenorg.apache.uniffle:client-mr${project.version}pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}pom.xml
Mavenorg.apache.hadoop:hadoop-client${hadoop.version}pom.xml
Mavenorg.apache.httpcomponents:httpclient${httpclient.version}pom.xml
Mavencom.fasterxml.jackson.core:jackson-core${fasterxml.jackson.version}pom.xml
Mavencom.fasterxml.jackson.core:jackson-databind${fasterxml.jackson.version}pom.xml
Mavencom.google.errorprone:error_prone_annotations${error_prone_annotations.version}pom.xml
Mavenio.prometheus:simpleclient${prometheus.simpleclient.version}pom.xml
Mavenio.prometheus:simpleclient_hotspot${prometheus.simpleclient.version}pom.xml
Mavenio.prometheus:simpleclient_httpserver${prometheus.simpleclient.version}pom.xml
Mavenio.prometheus:simpleclient_jetty${prometheus.simpleclient.version}pom.xml
Mavenio.prometheus:simpleclient_servlet${prometheus.simpleclient.version}pom.xml
Mavenio.prometheus:simpleclient_pushgateway${prometheus.simpleclient.version}pom.xml
Mavenorg.roaringbitmap:RoaringBitmap${roaring.bitmap.version}pom.xml
Maveninfo.picocli:picocli${picocli.version}pom.xml
Mavenorg.lz4:lz4-java1.8.1pom.xml
Mavenorg.mockito:mockito-core${mockito.version}pom.xml
Mavencom.github.luben:zstd-jni${zstd-jni.version}pom.xml
Mavenorg.xerial.snappy:snappy-java${snappy-java.version}pom.xml
Mavencommons-cli:commons-cli1.5.0pom.xml
Mavenorg.eclipse.jetty:jetty-servlet${jetty.version}pom.xml
Mavenorg.eclipse.jetty:jetty-proxy${jetty.version}pom.xml
Mavenorg.eclipse.jetty:jetty-server${jetty.version}pom.xml
Mavenorg.eclipse.jetty:jetty-util${jetty.version}pom.xml
Mavenorg.apache.hbase.thirdparty:hbase-shaded-jersey${hbase.thirdparty.version}pom.xml
Mavenorg.yaml:snakeyaml${snakeyaml.version}pom.xml
Mavenorg.slf4j:slf4j-api${slf4j.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j-impl${log4j.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j2-impl${log4j.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-api${log4j.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-core${log4j.version}pom.xml
Mavencom.esotericsoftware:kryo-shaded${kryo.version}pom.xml
Mavencom.puppycrawl.tools:checkstyle${checkstyle.version}pom.xml
Mavencom.github.spotbugs:spotbugs${spotbugs.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark2${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-integration-common-test${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenio.netty:netty-all${netty.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark2${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-integration-common-test${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j2-implpom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j2-implpom.xml
Mavenorg.apache.uniffle:rss-client-spark4${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j2-implpom.xml
Mavenorg.apache.uniffle:rss-client-spark4${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.logging.log4j:log4j-slf4j2-implpom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}pom.xml
Mavenorg.apache.spark:spark-core_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.spark:spark-sql_${scala.binary.version}${spark.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}pom.xml
Mavenorg.apache.uniffle:hadoop${hadoop.short.version}-shim${project.version}pom.xml
Mavenorg.apache.tez:tez-common${tez.version}pom.xml
Mavenorg.apache.tez:tez-runtime-library${tez.version}pom.xml
Mavenorg.apache.tez:tez-runtime-internals${tez.version}pom.xml
Mavenorg.apache.tez:tez-dag${tez.version}pom.xml
Mavenorg.apache.tez:tez-api${tez.version}pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}pom.xml
Mavenorg.apache.hadoop:hadoop-yarn-api${hadoop.version}pom.xml
Mavenorg.apache.hadoop:hadoop-yarn-server-common${hadoop.version}pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core${hadoop.version}pom.xml
Mavenorg.apache.apache.resources:apache-source-release-assembly-descriptor${version.apache-resource-bundles}pom.xml
Mavencom.google.protobuf:protobuf-java-utilproto/pom.xml
Mavenio.grpc:grpc-netty-shadedproto/pom.xml
Mavenio.grpc:grpc-protobufproto/pom.xml
Mavenio.grpc:grpc-stubproto/pom.xml
Mavenjavax.annotation:javax.annotation-apiproto/pom.xml
Mavenorg.apache.uniffle:rss-commonserver-common/pom.xml
Mavenorg.apache.uniffle:shuffle-storageserver/pom.xml
Mavenorg.apache.uniffle:rss-server-commonserver/pom.xml
Mavencom.google.protobuf:protobuf-java-utilserver/pom.xml
Mavenio.grpc:grpc-netty-shadedserver/pom.xml
Mavenio.grpc:grpc-protobufserver/pom.xml
Mavenio.grpc:grpc-stubserver/pom.xml
Mavencom.google.guava:guavaserver/pom.xml
Mavenio.grpc:grpc-testingserver/pom.xml
Mavencom.github.stefanbirkner:system-rulesserver/pom.xml
Mavenorg.apache.hadoop:hadoop-commonserver/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclusterserver/pom.xml
Mavenorg.mockito:mockito-inlineserver/pom.xml
Mavenorg.apache.commons:commons-collections4server/pom.xml
Mavenorg.apache.commons:commons-lang3server/pom.xml
Mavenio.netty:netty-all${netty.version}server/pom.xml
Mavenorg.apache.hadoop:hadoop-minikdcserver/pom.xml
Mavenorg.projectlombok:lombokserver/pom.xml
Mavenorg.apache.uniffle:rss-internal-clientstorage/pom.xml
Mavenorg.apache.hadoop:hadoop-clientstorage/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclusterstorage/pom.xml
Mavenorg.mockito:mockito-inlinestorage/pom.xml
Mavenorg.apache.hadoop:hadoop-minikdcstorage/pom.xml
Mavenorg.apache.uniffle:rss-clientclient-mr/core/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core${hadoop.version}client-mr/core/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-app${hadoop.version}client-mr/core/pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}client-mr/core/pom.xml
Mavenorg.apache.commons:commons-lang3client-mr/core/pom.xml
Mavenorg.lz4:lz4-javaclient-mr/core/pom.xml
Mavencom.google.guava:guava${guava.version}client-mr/core/pom.xml
Mavenio.grpc:grpc-netty-shadedclient-mr/core/pom.xml
Mavenio.netty:netty-allclient-mr/core/pom.xml
Mavenio.grpc:grpc-protobufclient-mr/core/pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}client-mr/core/pom.xml
Mavencom.github.luben:zstd-jniclient-mr/core/pom.xml
Mavenorg.apache.uniffle:hadoop${hadoop.short.version}-shim${project.version}client-mr/core/pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}client-mr/hadoop2.8/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core${hadoop.version}client-mr/hadoop2.8/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-app${hadoop.version}client-mr/hadoop2.8/pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}client-mr/hadoop3.2/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core${hadoop.version}client-mr/hadoop3.2/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-app${hadoop.version}client-mr/hadoop3.2/pom.xml
Mavencom.google.guava:guavaclient-spark/common/pom.xml
Mavenorg.apache.uniffle:rss-commonclient-spark/common/pom.xml
Mavenorg.apache.uniffle:rss-clientclient-spark/common/pom.xml
Mavenorg.lz4:lz4-javaclient-spark/common/pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}client-spark/extension/pom.xml
Mavenorg.apache.uniffle:rss-client-spark2${project.version}client-spark/spark2-shaded/pom.xml
Mavenorg.apache.uniffle:rss-clientclient-spark/spark2/pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}client-spark/spark2/pom.xml
Mavenio.netty:netty-allclient-spark/spark2/pom.xml
Mavenorg.apache.uniffle:rss-client-spark3${project.version}client-spark/spark3-shaded/pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}client-spark/spark3/pom.xml
Mavenorg.apache.uniffle:rss-client${project.version}client-spark/spark3/pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}client-spark/spark3/pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}client-spark/spark3/pom.xml
Mavenio.netty:netty-allclient-spark/spark3/pom.xml
Mavenorg.apache.uniffle:rss-client-spark4${project.version}client-spark/spark4-shaded/pom.xml
Mavencom.google.protobuf:protobuf-java${protobuf.version}client-spark/spark4/pom.xml
Mavenorg.apache.uniffle:rss-client${project.version}client-spark/spark4/pom.xml
Mavenorg.apache.uniffle:rss-client-spark-common${project.version}client-spark/spark4/pom.xml
Mavenorg.apache.uniffle:rss-client-spark-ui${project.version}client-spark/spark4/pom.xml
Mavenio.netty:netty-allclient-spark/spark4/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclusterintegration-test/common/pom.xml
Mavenorg.apache.hadoop:hadoop-minikdcintegration-test/common/pom.xml
Mavencom.google.protobuf:protobuf-java-util${protobuf.version}integration-test/mr/pom.xml
Mavenorg.apache.hadoop:hadoop-mapreduce-client-app${hadoop.version}integration-test/mr/pom.xml
Mavenorg.apache.hadoop:hadoop-common${hadoop.version}integration-test/mr/pom.xml
Mavenorg.apache.commons:commons-lang3integration-test/mr/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclusterintegration-test/spark3/pom.xml
Mavenorg.apache.hadoop:hadoop-miniclusterintegration-test/spark4/pom.xml
Mavenorg.apache.uniffle:rss-client-spark3-shaded${uniffle.version}tools/client-simulation-yarn/pom.xml
Усі залежності 315

Повний розв'язаний набір залежностей із графа залежностей GitHub: 144 прямих і 171 непрямих (транзитивних) пакетів. Транзитивне замикання є повним, коли в репозиторії закомічено lockfile.

РеєстрПакетВерсіяЗв'язок
Mavencom.esotericsoftware:kryo-shadedпряма
Mavencom.esotericsoftware:kryo-shaded4.0.2пряма
Mavencom.fasterxml.jackson.core:jackson-coreпряма
Mavencom.fasterxml.jackson.core:jackson-core2.10.0пряма
Mavencom.fasterxml.jackson.core:jackson-databindпряма
Mavencom.fasterxml.jackson.core:jackson-databind2.10.0пряма
Mavencom.github.luben:zstd-jniпряма
Mavencom.github.luben:zstd-jni1.5.2-3пряма
Mavencom.github.spotbugs:spotbugs4.7.0пряма
Mavencom.github.spotbugs:spotbugs-annotationsпряма
Mavencom.github.spotbugs:spotbugs-annotations4.7.0пряма
Mavencom.github.stefanbirkner:system-rulesпряма
Mavencom.github.stefanbirkner:system-rules1.19.0пряма
Mavencom.google.code.gson:gson2.10.1пряма
Mavencom.google.errorprone:error_prone_annotationsпряма
Mavencom.google.errorprone:error_prone_annotations2.23.0пряма
Mavencom.google.guava:guavaпряма
Mavencom.google.guava:guava21.0пряма
Mavencom.google.guava:guava32.1.3-jreпряма
Mavencom.google.protobuf:protobuf-javaпряма
Mavencom.google.protobuf:protobuf-java3.25.1пряма
Mavencom.google.protobuf:protobuf-java-utilпряма
Mavencom.google.protobuf:protobuf-java-util3.25.1пряма
Mavencom.puppycrawl.tools:checkstyle9.3пряма
Mavencommons-cli:commons-cliпряма
Mavencommons-cli:commons-cli1.5.0пряма
Mavencommons-codec:commons-codec1.9пряма
Mavencommons-logging:commons-loggingпряма
Mavencommons-logging:commons-logging1.2пряма
Maveninfo.picocli:picocliпряма
Maveninfo.picocli:picocli4.5.2пряма
Mavenio.dropwizard.metrics:metrics-core3.1.0пряма
Mavenio.grpc:grpc-netty-shadedпряма
Mavenio.grpc:grpc-netty-shaded1.64.0пряма
Mavenio.grpc:grpc-protobufпряма
Mavenio.grpc:grpc-protobuf1.64.0пряма
Mavenio.grpc:grpc-stubпряма
Mavenio.grpc:grpc-stub1.64.0пряма
Mavenio.grpc:grpc-testingпряма
Mavenio.grpc:grpc-testing1.64.0пряма
Mavenio.netty:netty-allпряма
Mavenio.netty:netty-all4.1.109пряма
Mavenio.prometheus:simpleclientпряма
Mavenio.prometheus:simpleclient0.9.0пряма
Mavenio.prometheus:simpleclient_hotspotпряма
Mavenio.prometheus:simpleclient_hotspot0.9.0пряма
Mavenio.prometheus:simpleclient_httpserverпряма
Mavenio.prometheus:simpleclient_httpserver0.9.0пряма
Mavenio.prometheus:simpleclient_jettyпряма
Mavenio.prometheus:simpleclient_jetty0.9.0пряма
Mavenio.prometheus:simpleclient_pushgatewayпряма
Mavenio.prometheus:simpleclient_pushgateway0.9.0пряма
Mavenio.prometheus:simpleclient_servletпряма
Mavenio.prometheus:simpleclient_servlet0.9.0пряма
Mavenjavax.activation:activation1.1.1пряма
Mavenjavax.annotation:javax.annotation-apiпряма
Mavenjavax.annotation:javax.annotation-api1.3.2пряма
Mavenorg.apache.apache.resources:apache-source-release-assembly-descriptor1.5пряма
Mavenorg.apache.commons:commons-collections4пряма
Mavenorg.apache.commons:commons-collections44.4пряма
Mavenorg.apache.commons:commons-lang3пряма
Mavenorg.apache.commons:commons-lang33.10пряма
Mavenorg.apache.hadoop:hadoop-clientпряма
Mavenorg.apache.hadoop:hadoop-client2.8.5пряма
Mavenorg.apache.hadoop:hadoop-commonпряма
Mavenorg.apache.hadoop:hadoop-common2.8.5пряма
Mavenorg.apache.hadoop:hadoop-mapreduce-client-appпряма
Mavenorg.apache.hadoop:hadoop-mapreduce-client-coreпряма
Mavenorg.apache.hadoop:hadoop-mapreduce-client-core2.8.5пряма
Mavenorg.apache.hadoop:hadoop-miniclusterпряма
Mavenorg.apache.hadoop:hadoop-minicluster2.8.5пряма
Mavenorg.apache.hadoop:hadoop-minikdcпряма
Mavenorg.apache.hadoop:hadoop-minikdc2.8.5пряма
Mavenorg.apache.hadoop:hadoop-yarn-apiпряма
Mavenorg.apache.hadoop:hadoop-yarn-api2.8.5пряма
Mavenorg.apache.hadoop:hadoop-yarn-server-commonпряма
Mavenorg.apache.hadoop:hadoop-yarn-server-common2.8.5пряма
Mavenorg.apache.hbase.thirdparty:hbase-shaded-jerseyпряма
Mavenorg.apache.hbase.thirdparty:hbase-shaded-jersey4.1.4пряма
Mavenorg.apache.httpcomponents:httpclientпряма
Mavenorg.apache.httpcomponents:httpclient4.5.3пряма
Mavenorg.apache.logging.log4j:log4j-apiпряма
Mavenorg.apache.logging.log4j:log4j-api2.23.0пряма
Mavenorg.apache.logging.log4j:log4j-coreпряма
Mavenorg.apache.logging.log4j:log4j-core2.23.0пряма
Mavenorg.apache.logging.log4j:log4j-slf4j-implпряма
Mavenorg.apache.logging.log4j:log4j-slf4j-impl2.23.0пряма
Mavenorg.apache.logging.log4j:log4j-slf4j2-implпряма
Mavenorg.apache.logging.log4j:log4j-slf4j2-impl2.23.0пряма
Mavenorg.apache.tez:tez-apiпряма
Mavenorg.apache.tez:tez-commonпряма
Mavenorg.apache.tez:tez-dagпряма
Mavenorg.apache.tez:tez-runtime-internalsпряма
Mavenorg.apache.tez:tez-runtime-libraryпряма
Mavenorg.apache.uniffle:cliпряма
Mavenorg.apache.uniffle:cli0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:client-mr0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:coordinatorпряма
Mavenorg.apache.uniffle:coordinator0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-clientпряма
Mavenorg.apache.uniffle:rss-client0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-client-spark-common0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-client-spark-ui0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-client-spark20.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-client-spark30.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-client-spark3-shaded0.9.1пряма
Mavenorg.apache.uniffle:rss-client-spark40.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-commonпряма
Mavenorg.apache.uniffle:rss-common0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-integration-common-test0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-internal-clientпряма
Mavenorg.apache.uniffle:rss-internal-client0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-protoпряма
Mavenorg.apache.uniffle:rss-proto0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:rss-server-commonпряма
Mavenorg.apache.uniffle:rss-server-common0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:shuffle-serverпряма
Mavenorg.apache.uniffle:shuffle-server0.11.0-SNAPSHOTпряма
Mavenorg.apache.uniffle:shuffle-storageпряма
Mavenorg.apache.uniffle:shuffle-storage0.11.0-SNAPSHOTпряма
Mavenorg.eclipse.jetty:jetty-proxyпряма
Mavenorg.eclipse.jetty:jetty-proxy9.3.24.v20180605пряма
Mavenorg.eclipse.jetty:jetty-serverпряма
Mavenorg.eclipse.jetty:jetty-server9.3.24.v20180605пряма
Mavenorg.eclipse.jetty:jetty-servletпряма
Mavenorg.eclipse.jetty:jetty-servlet9.3.24.v20180605пряма
Mavenorg.eclipse.jetty:jetty-utilпряма
Mavenorg.eclipse.jetty:jetty-util9.3.24.v20180605пряма
Mavenorg.lz4:lz4-javaпряма
Mavenorg.lz4:lz4-java1.8.1пряма
Mavenorg.mockito:mockito-coreпряма
Mavenorg.mockito:mockito-core3.12.4пряма
Mavenorg.mockito:mockito-inlineпряма
Mavenorg.mockito:mockito-inline3.12.4пряма
Mavenorg.projectlombok:lombokпряма
Mavenorg.projectlombok:lombok1.18.34пряма
Mavenorg.roaringbitmap:RoaringBitmapпряма
Mavenorg.roaringbitmap:RoaringBitmap0.9.15пряма
Mavenorg.slf4j:slf4j-apiпряма
Mavenorg.slf4j:slf4j-api1.7.36пряма
Mavenorg.xerial.snappy:snappy-javaпряма
Mavenorg.xerial.snappy:snappy-java1.1.8.4пряма
Mavenorg.yaml:snakeyamlпряма
Mavenorg.yaml:snakeyaml2.2пряма
Gogithub.com/beorn7/perks1.0.1непряма
Gogithub.com/cespare/xxhash/v22.1.2непряма
Gogithub.com/davecgh/go-spew1.1.1непряма
Gogithub.com/emicklei/go-restful2.16.0+incompatibleнепряма
Gogithub.com/evanphx/json-patch4.12.0+incompatibleнепряма
Gogithub.com/fsnotify/fsnotify1.5.1непряма
Gogithub.com/go-logr/logr1.2.0непряма
Gogithub.com/go-logr/zapr1.2.0непряма
Gogithub.com/go-openapi/jsonpointer0.19.5непряма
Gogithub.com/go-openapi/jsonreference0.19.5непряма
Gogithub.com/go-openapi/swag0.19.14непряма
Gogithub.com/gogo/protobuf1.3.2непряма
Gogithub.com/golang/groupcache0.0.0-20210331224755-41bb18bfe9daнепряма
Gogithub.com/golang/protobuf1.5.2непряма
Gogithub.com/google/gnostic0.5.7-v3refsнепряма
Gogithub.com/google/go-cmp0.5.8непряма
Gogithub.com/google/gofuzz1.1.0непряма
Gogithub.com/google/uuid1.1.2непряма
Gogithub.com/imdario/mergo0.3.12непряма
Gogithub.com/josharian/intern1.0.0непряма
Gogithub.com/json-iterator/go1.1.12непряма
Gogithub.com/mailru/easyjson0.7.6непряма
Gogithub.com/matttproud/golang_protobuf_extensions1.0.2-0.20181231171920-c182affec369непряма
Gogithub.com/modern-go/concurrent0.0.0-20180306012644-bacd9c7ef1ddнепряма
Gogithub.com/modern-go/reflect21.0.2непряма
Gogithub.com/munnerz/goautoneg0.0.0-20191010083416-a7dc8b61c822непряма
Gogithub.com/onsi/ginkgo/v22.1.4непряма
Gogithub.com/onsi/gomega1.20.0непряма
Gogithub.com/pkg/errors0.9.1непряма
Gogithub.com/pmezard/go-difflib1.0.0непряма
Gogithub.com/prometheus/client_golang1.12.1непряма
Gogithub.com/prometheus/client_model0.2.0непряма
Gogithub.com/prometheus/common0.32.1непряма
Gogithub.com/prometheus/procfs0.7.3непряма
Gogithub.com/puerkitobio/purell1.1.1непряма
Gogithub.com/puerkitobio/urlesc0.0.0-20170810143723-de5bf2ad4578непряма
Gogithub.com/spf13/pflag1.0.5непряма
Gogithub.com/stretchr/testify1.8.0непряма
Gogo.uber.org/atomic1.7.0непряма
Gogo.uber.org/multierr1.6.0непряма
Gogo.uber.org/zap1.19.1непряма
Gogolang.org/x/mod0.6.0-dev.0.20220419223038-86c51ed26bb4непряма
Gogolang.org/x/net0.7.0непряма
Gogolang.org/x/oauth20.0.0-20211104180415-d3ed0bb246c8непряма
Gogolang.org/x/sync0.0.0-20220722155255-886fb9371eb4непряма
Gogolang.org/x/sys0.5.0непряма
Gogolang.org/x/term0.5.0непряма
Gogolang.org/x/text0.7.0непряма
Gogolang.org/x/time0.0.0-20220210224613-90d013bbcef8непряма
Gogolang.org/x/tools0.1.12непряма
Gogomodules.xyz/jsonpatch/v22.2.0непряма
Gogoogle.golang.org/appengine1.6.7непряма
Gogoogle.golang.org/protobuf1.33.0непряма
Gogopkg.in/inf.v00.9.1непряма
Gogopkg.in/yaml.v22.4.0непряма
Gogopkg.in/yaml.v33.0.1непряма
Gok8s.io/api0.24.1непряма
Gok8s.io/apiextensions-apiserver0.24.0непряма
Gok8s.io/apimachinery0.24.1непряма
Gok8s.io/client-go0.24.1непряма
Gok8s.io/code-generator0.24.1непряма
Gok8s.io/component-base0.24.0непряма
Gok8s.io/gengo0.0.0-20211129171323-c02415ce4185непряма
Gok8s.io/klog/v22.60.1непряма
Gok8s.io/kube-openapi0.0.0-20220328201542-3ee0da9b0b42непряма
Gok8s.io/utils0.0.0-20220210201930-3a6ce19ff2f9непряма
Gosigs.k8s.io/controller-runtime0.12.1непряма
Gosigs.k8s.io/json0.0.0-20211208200746-9f7c6b3444d2непряма
Gosigs.k8s.io/structured-merge-diff/v44.2.3непряма
Gosigs.k8s.io/yaml1.3.0непряма
Mavencom.diffplug.spotless:spotless-maven-plugin2.30.0непряма
Mavencom.fasterxml.jackson.core:jackson-annotationsнепряма
Mavencom.github.eirslett:frontend-maven-plugin1.12.1непряма
Mavencom.github.spotbugs:spotbugs-maven-plugin4.7.0.0непряма
Mavenjavax.servlet:javax.servlet-api3.1.0непряма
Mavenjunit:junit4.11непряма
Mavennet.alchim31.maven:scala-maven-pluginнепряма
Mavennet.nicoulaj.maven.plugins:checksum-maven-plugin1.11непряма
Mavenorg.apache.felix:maven-bundle-plugin2.4.0непряма
Mavenorg.apache.hadoop:hadoop-mapreduce-examplesнепряма
Mavenorg.apache.hadoop:hadoop-mapreduce-examples2.8.5непряма
Mavenorg.apache.hadoop:hadoop-yarn-clientнепряма
Mavenorg.apache.hadoop:hadoop-yarn-client2.8.5непряма
Mavenorg.apache.maven.plugins:maven-antrun-pluginнепряма
Mavenorg.apache.maven.plugins:maven-antrun-plugin1.8непряма
Mavenorg.apache.maven.plugins:maven-assembly-plugin1.5непряма
Mavenorg.apache.maven.plugins:maven-assembly-plugin2.6непряма
Mavenorg.apache.maven.plugins:maven-checkstyle-pluginнепряма
Mavenorg.apache.maven.plugins:maven-checkstyle-plugin3.1.2непряма
Mavenorg.apache.maven.plugins:maven-compiler-pluginнепряма
Mavenorg.apache.maven.plugins:maven-compiler-plugin3.7.0непряма
Mavenorg.apache.maven.plugins:maven-dependency-plugin2.10непряма
Mavenorg.apache.maven.plugins:maven-deploy-plugin2.8.2непряма
Mavenorg.apache.maven.plugins:maven-enforcer-pluginнепряма
Mavenorg.apache.maven.plugins:maven-enforcer-plugin1.4.1непряма
Mavenorg.apache.maven.plugins:maven-gpg-pluginнепряма
Mavenorg.apache.maven.plugins:maven-install-plugin2.5.2непряма
Mavenorg.apache.maven.plugins:maven-jar-pluginнепряма
Mavenorg.apache.maven.plugins:maven-jar-plugin2.3.2непряма
Mavenorg.apache.maven.plugins:maven-jar-plugin2.4непряма
Mavenorg.apache.maven.plugins:maven-javadoc-pluginнепряма
Mavenorg.apache.maven.plugins:maven-javadoc-plugin3.0.0-M1непряма
Mavenorg.apache.maven.plugins:maven-remote-resources-pluginнепряма
Mavenorg.apache.maven.plugins:maven-remote-resources-plugin1.5непряма
Mavenorg.apache.maven.plugins:maven-shade-pluginнепряма
Mavenorg.apache.maven.plugins:maven-shade-plugin3.6.2непряма
Mavenorg.apache.maven.plugins:maven-source-pluginнепряма
Mavenorg.apache.maven.plugins:maven-surefire-pluginнепряма
Mavenorg.apache.maven.plugins:maven-surefire-plugin2.22.2непряма
Mavenorg.apache.rat:apache-rat-pluginнепряма
Mavenorg.apache.rat:apache-rat-plugin0.13непряма
Mavenorg.apache.tez:tez-testsнепряма
Mavenorg.apache.uniffle:rss-client-mr0.11.0-SNAPSHOTнепряма
Mavenorg.apache.uniffle:rss-client-tez0.11.0-SNAPSHOTнепряма
Mavenorg.apache.uniffle:rss-integration-spark-common-test0.11.0-SNAPSHOTнепряма
Mavenorg.awaitility:awaitilityнепряма
Mavenorg.awaitility:awaitility4.2.0непряма
Mavenorg.bouncycastle:bcprov-jdk15on1.60непряма
Mavenorg.codehaus.jackson:jackson-jaxrs1.9.13непряма
Mavenorg.codehaus.jackson:jackson-xc1.9.13непряма
Mavenorg.codehaus.mojo:build-helper-maven-pluginнепряма
Mavenorg.codehaus.mojo:build-helper-maven-plugin3.6.0непряма
Mavenorg.codehaus.mojo:buildnumber-maven-pluginнепряма
Mavenorg.codehaus.mojo:buildnumber-maven-plugin1.4непряма
Mavenorg.codehaus.mojo:exec-maven-pluginнепряма
Mavenorg.codehaus.mojo:flatten-maven-pluginнепряма
Mavenorg.codehaus.mojo:flatten-maven-plugin1.3.0непряма
Mavenorg.codehaus.mojo:license-maven-pluginнепряма
Mavenorg.codehaus.mojo:license-maven-plugin1.13непряма
Mavenorg.codehaus.mojo:properties-maven-pluginнепряма
Mavenorg.codehaus.mojo:properties-maven-plugin1.1.0непряма
Mavenorg.codehaus.mojo:templating-maven-pluginнепряма
Mavenorg.codehaus.mojo:templating-maven-plugin1.0.0непряма
Mavenorg.jacoco:jacoco-maven-pluginнепряма
Mavenorg.jacoco:jacoco-maven-plugin0.8.3непряма
Mavenorg.junit.jupiter:junit-jupiterнепряма
Mavenorg.junit.jupiter:junit-jupiter5.8.2непряма
Mavenorg.junit.platform:junit-platform-launcherнепряма
Mavenorg.junit.platform:junit-platform-launcher1.8.2непряма
Mavenorg.xolstice.maven.plugins:protobuf-maven-pluginнепряма
Mavenorg.xolstice.maven.plugins:protobuf-maven-plugin0.6.1непряма
Mavenuk.org.webcompere:system-stubs-jupiterнепряма
Mavenuk.org.webcompere:system-stubs-jupiter2.0.1непряма
npm@babel/core^7.12.16непряма
npm@babel/eslint-parser^7.12.16непряма
npm@vue/cli-plugin-babel~5.0.0непряма
npm@vue/cli-plugin-eslint~5.0.0непряма
npm@vue/cli-service^5.0.8непряма
npm@vue/eslint-config-prettier^9.0.0непряма
npmaxios^1.4.0непряма
npmcore-js^3.8.3непряма
npmelement-plus^2.3.6непряма
npmeslint^8.57.0непряма
npmeslint-config-standard^17.1.0непряма
npmeslint-plugin-import^2.29.1непряма
npmeslint-plugin-n^16.6.2непряма
npmeslint-plugin-prettier^5.1.3непряма
npmeslint-plugin-promise^6.2.0непряма
npmeslint-plugin-vue^9.26.0непряма
npmmockjs^1.1.0непряма
npmmoment^2.29.4непряма
npmnode-sass^9.0.0непряма
npmpinia^2.1.7непряма
npmprettier^3.3.2непряма
npmrimraf^5.0.1непряма
npmsass-loader^13.3.1непряма
npmvue^3.2.13непряма
npmvue-loader^17.2.2непряма
npmvue-resource^1.5.3непряма
npmvue-router^4.2.2непряма
npmvue-template-compiler^2.7.14непряма
Сповіщення про залежності 19

Цей репозиторій не публікує пакета, який розпізнає індекс, тож оцінено його власний граф залежностей — 190 пакетів, серед яких є й піниї розробки та тестування, що ніколи не постачаються: 19 мають відомі сповіщення, з них 13 прямі. 125 не вдалося оцінити — немає резолвленої версії, непідтримувана екосистема або поза наведеним переліком пакетів.

ПакетВерсіяЗв'язокКритичністьСповіщеньВиправлено в
org.apache.hadoop:hadoop-common2.8.5прямакритична53.4.0
com.fasterxml.jackson.core:jackson-core2.10.0прямависока33.1.0
com.fasterxml.jackson.core:jackson-databind2.10.0прямависока103.1.4
com.google.protobuf:protobuf-java3.25.1прямависока14.28.2
io.grpc:grpc-netty-shaded1.64.0прямависока14.2.4.Final
org.apache.hadoop:hadoop-yarn-server-common2.8.5прямависока13.3.2
org.eclipse.jetty:jetty-server9.3.24.v20180605прямависока912.0.9
org.lz4:lz4-java1.8.1прямависока11.10.1
org.xerial.snappy:snappy-java1.1.8.4прямависока41.1.10.4
golang.org/x/net0.7.0непрямависока2312.0.2
golang.org/x/oauth20.0.0-20211104180415-d3ed0bb246c8непрямависока20.27.0
com.google.guava:guava21.0прямапомірна332.0.0-android
org.apache.commons:commons-lang33.10прямапомірна13.18.0
org.apache.httpcomponents:httpclient4.5.3прямапомірна15.0.3
junit:junit4.11непрямапомірна14.13.1
org.bouncycastle:bcprov-jdk15on1.60непрямапомірна62.3.1
org.apache.logging.log4j:log4j-core2.23.0пряманизька42.25.4
golang.org/x/sys0.5.0непряманевідома10.44.0
golang.org/x/text0.7.0непряманевідома10.39.0

Сповіщення означає, що версія, записана в графі залежностей, потрапляє в уражений діапазон. Досяжність не аналізується, а граф містить піниї розробки й тестування — знахідка може стосуватися інструментів, а не поставленого коду.

Звіт у форматі JSON машиночитний
{
  "data": {
    "repo": {
      "topics": [
        "mapreduce",
        "shuffle",
        "spark",
        "remote-shuffle-service",
        "rss",
        "tez"
      ],
      "is_fork": false,
      "size_kb": 14132,
      "has_wiki": true,
      "homepage": "https://uniffle.apache.org/",
      "languages": {
        "Go": 304758,
        "Vue": 50473,
        "HTML": 1463,
        "Java": 6487467,
        "Scala": 46832,
        "Shell": 104264,
        "Python": 2951,
        "Makefile": 4929,
        "Dockerfile": 8157,
        "JavaScript": 75108
      },
      "pushed_at": "2026-07-16T09:45:10Z",
      "created_at": "2022-06-17T01:47:53Z",
      "owner_type": "Organization",
      "updated_at": "2026-07-16T09:46:27Z",
      "description": "Uniffle is a high performance, general purpose Remote Shuffle Service.",
      "is_archived": false,
      "is_disabled": false,
      "license_spdx": "Apache-2.0",
      "default_branch": "master",
      "license_spdx_raw": "Apache-2.0",
      "primary_language": "Java",
      "significant_languages": [
        "Java"
      ]
    },
    "owner": {
      "blog": "https://www.apache.org/",
      "name": "The Apache Software Foundation",
      "type": "Organization",
      "login": "apache",
      "company": null,
      "location": null,
      "followers": 23511,
      "avatar_url": "https://avatars.githubusercontent.com/u/47359?v=4",
      "created_at": "2009-01-17T20:14:40Z",
      "is_verified": null,
      "public_repos": 3146,
      "account_age_days": 6394
    },
    "license": {
      "state": "standard",
      "spdx_id": "Apache-2.0",
      "raw_spdx": "Apache-2.0",
      "file_present": true,
      "scorecard_found": true,
      "profile_has_license": true
    },
    "activity": {
      "releases": [
        {
          "tag": "v0.10.0",
          "kind": "minor",
          "published_at": "2025-09-25T08:00:51Z"
        },
        {
          "tag": "v0.9.2-rc2",
          "kind": "prerelease",
          "published_at": "2025-01-09T02:55:40Z"
        },
        {
          "tag": "v0.9.1-rc2",
          "kind": "prerelease",
          "published_at": "2024-12-05T09:38:16Z"
        },
        {
          "tag": "v0.9.0",
          "kind": "minor",
          "published_at": "2024-07-16T08:34:10Z"
        },
        {
          "tag": "v0.8.0",
          "kind": "minor",
          "published_at": "2023-12-13T02:58:14Z"
        },
        {
          "tag": "v0.7.1",
          "kind": "patch",
          "published_at": "2023-07-10T02:46:35Z"
        },
        {
          "tag": "v0.7.0",
          "kind": "minor",
          "published_at": "2023-04-10T08:41:52Z"
        },
        {
          "tag": "v0.6.1",
          "kind": "patch",
          "published_at": "2022-12-09T09:12:19Z"
        },
        {
          "tag": "v0.6.0",
          "kind": "minor",
          "published_at": "2022-10-27T10:50:21Z"
        }
      ],
      "recent_commits": [
        {
          "oid": "1bbfd791fc6b5ffdc0f48897f04b62fd94d52f22",
          "body": "### What changes were proposed in this pull request?\n\nremove shuffle write status on unregister\n\n### Why are the changes needed?\n\nclean unused shuffleWriteStatus like `org.apache.uniffle.shuffle.manager.ShuffleManagerGrpcService#shuffleStatus`\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nminor fix",
          "is_bot": false,
          "headline": "fix(spark): remove shuffle write status on unregister (#2766)",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-07-16T09:45:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "392573e7327a6595d770c0b5bd9029a5353d19c0",
          "body": "…I failure (#2765)\n\n### What changes were proposed in this pull request?\n\nto fix the CI failure of #2758\n\n### Why are the changes needed?\n\nFix: #2758 CI failure\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nexisting test cases",
          "is_bot": false,
          "headline": "[#2758] fix(rpc): followup to fix the ShuffleServerOnRandomPortTest C…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-07-16T06:18:49Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "755e05f36af5413733ca89374ddbd1e1c92549c4",
          "body": "…te (#2759)\n\n### What changes were proposed in this pull request?\n\n1. simplify the `serverInterface`\n2. simplify server port fallback to improve success rate\n3. use the port=0 to make the built-in port binding mechanism valid\n\n### Why are the changes needed?\n\nto fix #2758 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nTests",
          "is_bot": false,
          "headline": "[#2758] fix(rpc): simplify server port fallback to improve success ra…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-07-14T07:49:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d31ff12eda6e782d38c20118532f4e86d8d9ff78",
          "body": "…prevent potential data loss (#2764)\n\n### What changes were proposed in this pull request?\n\nChange the no-argument `WriteBufferManager.clear()` method used by the Gluten shuffle writer to call `clear(1.0)` instead of `clear(bufferSpillRatio)`.\n\n### Why are the changes needed?\n\nA spill ratio of `1.0`\n[…]\nific error was observed because we use the default `spillRatio` of `1.0`. This issue was identified while reviewing the relevant code. The existing unit tests already cover the `clear(1.0)` code path.",
          "is_bot": false,
          "headline": "[#2763] fix(spark)(gluten): use a 1.0 spill ratio for final clear to …",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-07-14T07:48:17Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "018ac289687079defee1c0631bb9c3ad96c0f58c",
          "body": "### What changes were proposed in this pull request?\n\nRemove unnecessary synchronized for getRemoteShuffleHandleInfo methods\n\n### Why are the changes needed?\n\ncloses #2761\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests",
          "is_bot": false,
          "headline": "[#2761] fix(spark): remove unnecessary synchronized (#2762)",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-07-08T08:01:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9df64d29cb1ab373d09aee9eec56eeabef3fb27f",
          "body": "…t (#2756)",
          "is_bot": false,
          "headline": "[#2755] fix(ci): upgrade dorny/paths-filter to match apache allow lis…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-06-29T07:28:10Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8cd77470a5028120fbb9532d95eca24bcb930861",
          "body": "### What changes were proposed in this pull request?\n\nfix NPE by better handling removed blocks\n\n### Why are the changes needed?\n\n`getFailedBlockIds()` returned a live key set from a concurrent map. After one thread got a failed block id, another thread could clear that block’s failed state after th\n[…]\neturned null, and the resend logic later accessed it, causing a `NullPointerException.`\n\nfix #2753\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit test",
          "is_bot": false,
          "headline": "[#2753] fix(spark): ignore removed failed blocks (#2754)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-06-29T03:25:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7f08785521f13722029f56e4857e6b7acdf517f6",
          "body": "### What changes were proposed in this pull request?\n\nAdd a `spark4.1` Maven profile that reuses the existing `client-spark/spark4` module to compile and run against **Spark 4.1.1**.\n\n#### API shims\n\nSpark 4.1 introduced two binary-incompatible additions to APIs called from this module:\n\n- `org.apac\n[…]\nExecute -Pspark4.1` step gated on java-version 17. Latest run on this branch ([26386496434](https://github.com/apache/uniffle/actions/runs/26386496434)) is **all-green** across the full 45-job matrix.",
          "is_bot": false,
          "headline": "[#2750] feat(spark): Support Spark 4.1 (#2751)",
          "author_name": "YangJie",
          "author_login": "LuciferYang",
          "committed_at": "2026-05-27T07:44:34Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c81ef85a9e2f313bcc4baf3fb901e490e8e5e90b",
          "body": "Spark 4 switched the UI servlet API from javax.servlet (Jetty 9) to\njakarta.servlet (Jetty 11+). WebUIPage.render must override its parent\nsignature exactly, so the same .scala file cannot serve both.\n\nRoute extension through a ServletCompat type alias backed by two\nversion-specific source roots (sc\n[…]\nn steps,\n  IDE re-import on profile switch, and ~/.m2 hygiene.\n\nVerified: extension compiles cleanly under spark3 / spark3.0 / spark3.2 /\nspark3.2.0 / spark3.3 / spark3.4 / spark3.5 / spark4 profiles.",
          "is_bot": false,
          "headline": "[#1805] feat(spark): Support Spark 4 in client-spark/extension (#2749)",
          "author_name": "YangJie",
          "author_login": "LuciferYang",
          "committed_at": "2026-05-17T03:41:56Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "c18774dd7e60312ed5066487c390f3dd6c149396",
          "body": "* [#1805] feat(spark): Support Spark 4.0.2\n\nAdd Spark 4.0.2 support with the following changes:\n\n- New client-spark/spark4 and client-spark/spark4-shaded modules\n- New integration-test/spark4 module\n- spark4 Maven profile with Scala 2.13, Java 17, Hadoop 3.4.1\n- CI workflow entries for unit and inte\n[…]\nnd add a private constructor to prevent instantiation. Drop the duplicated isSpark2/3/4 assertions from testSpark4Version since testSparkVersion already covers them through SparkVersionUtils directly.",
          "is_bot": false,
          "headline": "[#1805] feat(spark): Support Spark 4.0.2 (#2748)",
          "author_name": "YangJie",
          "author_login": "LuciferYang",
          "committed_at": "2026-05-12T02:05:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6acfd53d69b70625f595014ec1e6b0f1a52d9073",
          "body": "…heck failure (#2746)\n\n### What changes were proposed in this pull request?\n\nWhen segment is skipped, we should increment the segmentIndex; otherwise, it may lead to data corruption.\n\n### Why are the changes needed?\n\nfix bug\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nadded test case",
          "is_bot": false,
          "headline": "fix(spark): Increment segmentIndex when skipping segment due to crc c…",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-04-07T02:59:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb692006e592442a2364273bd162ae241a79d094",
          "body": "… shuffle buffer (#2744)\n\n### What changes were proposed in this pull request?\nTrigger flush when there are too many blocks in shuffle buffer.\n\n### Why are the changes needed?\nFix: #2739\nPrevent memory overflow\n\n### Does this PR introduce any user-facing change?\nset rss.server.buffer.blockCount.capacity\n\n### How was this patch tested?\nUT",
          "is_bot": false,
          "headline": "[#2739] feat(server): Trigger flush when there are too many blocks in…",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2026-04-02T03:45:08Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ae417e63228dc46157c35c660fc5598650f6a618",
          "body": "…pression  (#2745)\n\n### What changes were proposed in this pull request?\n\nfix the PR #2735 \n\n### Why are the changes needed?\n\nfix potential hang\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests",
          "is_bot": false,
          "headline": "fix(spark): potential hang with skipped segments on overlapping decom…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-03-27T09:39:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b80940d6eb0bc2de362834c3c3b50842c124b203",
          "body": "…mit result (#2742)\n\n### What changes were proposed in this pull request?\nReplace Roaring64NavigableMap with AtomicLong for checking commit result\n\n### Why are the changes needed?\nFix: #2740\nTo save memory.\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nCI",
          "is_bot": false,
          "headline": "[#2740] improvement(server) Just check block count while checking com…",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2026-03-25T02:34:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b98b488198da3c130fa86be6e8e9f09407f4f84b",
          "body": "…nd avg block size (#2741)\n\n### What changes were proposed in this pull request?\nAdd metrics to track shuffle data block count and avg block size.\n\n### Why are the changes needed?\nFix: #2738\nWe need to identify and stop the application that generate large amounts of blocks when heap memory is insufficient.\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nCI and manual testing",
          "is_bot": false,
          "headline": "[#2738] feat(server): add metrics to track shuffle data block count a…",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2026-03-19T08:56:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2f0b954ae4d5683b74c107514791d88b2cf1f181",
          "body": "…tting to avoid deadlock in decompression worker (#2737)\n\n### What changes were proposed in this pull request?\n\nRelease segmentPermits first to avoid deadlock\n\n### Why are the changes needed?\n\n#2601 caused ShuffleReadClientImplTest to hang, see https://github.com/apache/uniffle/actions/runs/22700481\n[…]\nadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\n\tat java.lang.Thread.run(Thread.java:750)\n```\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "[#2601][FOLLOWUP] fix(spark): Release segmentPermits before buffer ge…",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-03-05T11:32:32Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2963220f20ff0dd1dd13e057b598da31276be73b",
          "body": "### What changes were proposed in this pull request?\n\nCorrect shuffle read time metrics\n\n### Why are the changes needed?\n\nThe metrics for shuffle read time are mismatched.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "fix(spark): Correct shuffle read time metrics in spark UI tab (#2736)",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-03-05T11:25:20Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "b324cc33c1457cc55eda981c577d2d5888177ed2",
          "body": "…o control memory usage (#2735)\n\n### What changes were proposed in this pull request?\n\nIntroduce option of max segments decompression to control memory usage\n\n### Why are the changes needed?\n\nTo address issue #2716, this PR introduces an option to set the maximum number of concurrent decompression s\n[…]\nrall memory usage. Setting this value to 1 restricts decompression to a single segment at a time. \n\n### Does this PR introduce _any_ user-facing change?\n\nYes\n\n### How was this patch tested?\n\nUnit test",
          "is_bot": false,
          "headline": "[#2716] feat(spark): Introduce option of max segments decompression t…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-03-02T06:52:14Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "4637321402dd09616e66065b600b97319dbeb144",
          "body": "…emove unnecessary `deallocate` method (#2731)\n\n### What changes were proposed in this pull request?\n\n+ move `CompositeFileRegion` class to uniffle package\n+ do nothing in deallocate method\n\n### Why are the changes needed?\n\nSince we have already overridden the `release()/release(int decrement)` meth\n[…]\nlocate()` method. And after this, we no longer need to place it in the `io.netty.util` package.\n\ncloses #2730\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?",
          "is_bot": false,
          "headline": "[#2730] improvement(common): Use built-in `CompositeFileRegion` and r…",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-03-02T02:54:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5986591c96d9e7f628e4cfbf6c7e342841af5706",
          "body": "…y` (#2734)\n\n### What changes were proposed in this pull request?\n\nCalculate total value for ShuffleReadTimesSummary.\n\n### Why are the changes needed?\n\nFix the total shuffle read time to zero in uniffle UI.\n\nCloses #2733\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nAfter:\n<img width=\"1865\" height=\"131\" alt=\"image\" src=\"https://github.com/user-attachments/assets/1ca5ee6c-24cc-45b8-b580-8d760273574a\" />",
          "is_bot": false,
          "headline": "[#2733] fix(spark): Calculate total value for `ShuffleReadTimesSummar…",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-02-28T01:45:18Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9c0c27dead125a50f4140b342c470e0ed13ec8f6",
          "body": "…mode and fix stale assignment missing callback that caused timeout (#2729)\n\n### What changes were proposed in this pull request?\n\n1. Fallback to random server when no servers are available in load-balance mode\n2. Fix stale assignment missing callback in data pusher that caused the writer to hang un\n[…]\n?\n\nfix the #2725 . Finally tracked down and fixed this tricky bug after a thorough investigation.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests",
          "is_bot": false,
          "headline": "[#2725] fix(spark)(partition-split): Add fallback under load-balance …",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-02-12T07:33:26Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2731cf2df0de5c8322acbfbc2d81a35d1b7517cb",
          "body": "…ffle writer logic (#2727)\n\n### What changes were proposed in this pull request?\n\nIntroduce `ReassignExecutor` to clarify shuffle writer logic\n\n### Why are the changes needed?\n\nfor #2724\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests",
          "is_bot": false,
          "headline": "[#2724] refactor(spark): Introduce `ReassignExecutor` to simplify shu…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-02-12T02:10:33Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bdea9e675a5395d9d7c79935fa2610318b6f5b69",
          "body": "### What changes were proposed in this pull request?\n\nRemove logs of successful heartbeat\n\n### Why are the changes needed?\n\nsimplify logs in spark driver side\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "chore(spark): Remove logs of successful heartbeat (#2728)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-02-12T02:09:38Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "eb53a1a7bb63dc0c7f1814e9772c1bb1e242d164",
          "body": "…count checking for stale assignment  (#2726)\n\n### What changes were proposed in this pull request?\n\n1.  Introduce option for stale assignment fast-switch. After having this, we could better to inspect some bugs if this mechanism is caused\n2. Ignore retry count checking for stale assignment to fix the multi server switch \n\n### Why are the changes needed?\n\nfor #2725 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests",
          "is_bot": false,
          "headline": "[#2725] feat(spark): Introduce optional fast-switch and ignore retry-…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-02-10T11:37:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f809ed263cb96dffded0988848977689c058d04",
          "body": "…off for Gluten (#2720)\n\n### What changes were proposed in this pull request?\n\n- This change introduces `CompositeByteBuf` in `WriterBuffer` to provide a zero-copy data view, which is especially beneficial in Gluten scenarios where compression is disabled and handled by the Gluten side. \n- In additi\n[…]\nf` in codec, this could be finished in the next PRs.\n\n### Why are the changes needed?\n\nfor #2718 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests",
          "is_bot": false,
          "headline": "[#2718] feat(spark): Eliminate copy in WriterBuffer when compression …",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-01-30T08:46:43Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "69b1b45bf4e6e03f4cfe3117416a80460f50537c",
          "body": "…ping compression mechanism (#2715)\n\n### What changes were proposed in this pull request?\n\nRespect compression type when activating overlapping compression mechanism\n\n### Why are the changes needed?\n\n#2714 . Unify the overlapping compression checking logic into one place and also respect the compression type when activating this mechanism. \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests are enough.",
          "is_bot": false,
          "headline": "[#2714] feat(spark): Respect compression type when activating overlap…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-01-29T02:31:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "82ed9f8426ac12f7d3fdd3dacd55d9be00071c04",
          "body": "…717)\n\n### What changes were proposed in this pull request?\n\nAdd more decompression stats to log\n1. peek memory used to dig when OOM happens\n2. decompression throughput \n\n### Why are the changes needed?\n\nto fix #2716 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests are enough\n\n---------\n\nCo-authored-by: Junfan Zhang <zhangjunfan@qiyi.com>",
          "is_bot": false,
          "headline": "[#2716] feat(client): More overlapping decompression stats to log (#2…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-01-28T07:14:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4290cfe79142878638dde41beb9c7e1602f758c9",
          "body": "### What changes were proposed in this pull request?\n\nUpdate spark related performance guide in doc\n\n### Why are the changes needed?\n\nTo show the latest spark performance guide in doc\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't\n\n---\nCo-authored-by: zhangjunfan <zhangjunfan@qiyi.com>",
          "is_bot": false,
          "headline": "feat(doc): Update spark related performance guide in doc (#2713)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-01-21T07:31:48Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3525bab94eef75d1a9002fafb1579534b9d6307d",
          "body": "…alization (#2712)\n\n### What changes were proposed in this pull request?\n\nFix race condition on deferred compressed block initialization\n\n### Why are the changes needed?\n\nfix #2711 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting unit tests\n\n---------\n\nCo-authored-by: zhangjunfan <zhangjunfan@qiyi.com>",
          "is_bot": false,
          "headline": "[#2711] fix(spark): Race condition on deferred compressed block initi…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2026-01-15T02:49:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f43f66fd4b88033689d06d5192e4a612046ef31c",
          "body": "…Size` (#2708)\n\n### What changes were proposed in this pull request?\n\n1. Wrap calcTopNShuffleDataSize in error handling\n2. Use `scheduleWithFixedDelay` instand of `scheduleAtFixedRate`\n\n### Why are the changes needed?\n\nFix: #2707 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nCI",
          "is_bot": false,
          "headline": "[#2707] fix(server): Catch up on any failures in `calcTopNShuffleData…",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2026-01-13T06:17:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "2d5fc0a2b8ffb0bece50cff76a864bc3a992660d",
          "body": "### What changes were proposed in this pull request?\n\n+ Add cleaner ShuffleReadTimesSummary/ShuffleWriteTimesSummary entities\n+ Make ShuffleType as an enumeration\n\n### Why are the changes needed?\n\nfor #2709 \n\nFix serialization error when enabled `spark.history.store.hybridStore.enabled`\n\n### Does th\n[…]\nintroduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nSuccessfully tested in internal spark history server environment.\n\n---------\n\nCo-authored-by: Junfan Zhang <zuston@apache.org>",
          "is_bot": false,
          "headline": "[#2709] fix(spark): Fix serialization error in Spark History UI (#2710)",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-01-13T06:15:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "13651156383ca0c29ab984d75c825c5a8c9145db",
          "body": "…` to avoid global locking (#2706)\n\n### What changes were proposed in this pull request?\n\nAdd read-write lock for MutableShuffleHandleInfo to avoid global locking\n\n### Why are the changes needed?\n\nTo fix a critical and potentially bug, particularly during the startup of large tasks in Spark jobs, although #2667 only partially addresses the issue.\n\ncloses #2705\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "[#2705] fix(spark): Use read-write lock for `MutableShuffleHandleInfo…",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2026-01-08T11:20:03Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "cf29d36f9bdf6ab45cf2e9b2ee914122aa149ee2",
          "body": "…lt (#2703)\n\n### What changes were proposed in this pull request?\nUse ack val to check the block send result.\n\n### Why are the changes needed?\nFor better performance.\nFix: #2674\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nCI",
          "is_bot": false,
          "headline": "[#2674] improvement(client): use ack val to check the block send resu…",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2025-12-29T08:23:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7867d59b1b15d1021cb15528db89e64e42508d3b",
          "body": "### What changes were proposed in this pull request?\nRelease the memory of duplicate blocks.\n\n### Why are the changes needed?\nThe used_buffer_size is incorrect when duplicate blocks occur.\nFix: #2701\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nUT",
          "is_bot": false,
          "headline": "[#2701] fix(server): release the memory of duplicate blocks (#2702)",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2025-12-24T02:36:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a2c2d056ce8fd49af025eaa48785b94d21515557",
          "body": "…leWriteTaskStats (#2698)\n\n### What changes were proposed in this pull request?\n\nInvolve related writer stats info into ShuffleWriteTaskStats for further integrity validation block checksum implementation\n\n### Why are the changes needed?\n\nfor #2697\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting unit tests\n\n---------\n\nCo-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>",
          "is_bot": false,
          "headline": "[#2697] refactor(spark): Involve related writer stats info into Shuff…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-12-18T03:40:46Z",
          "body_truncated": false,
          "is_coding_agent": true
        },
        {
          "oid": "74203516a37acc34c72e7e0fb830cd882faa74d7",
          "body": "…is empty or null (#2696)\n\n### What changes were proposed in this pull request?\n\nPrefetch should be finished once shuffle result is empty or null\n\n### Why are the changes needed?\n\nfix #2686 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests",
          "is_bot": false,
          "headline": "[#2686] fix(client): Prefetch should be finished once shuffle result …",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-12-16T07:28:15Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "c7e23b6b72b573f1a5019a41c1ca16a36cc3932a",
          "body": "### What changes were proposed in this pull request?\n\nCorrection of grammar.\n\n### Why are the changes needed?\n\nSo that the grammar will be correct.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nN/A",
          "is_bot": false,
          "headline": "chore: Fix grammar in RssException message (#2695)",
          "author_name": "Mark Wadham",
          "author_login": "m4rkw",
          "committed_at": "2025-12-10T02:48:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "741ecba1a1157f6e2527469282f624748c9d8769",
          "body": "… status code (#2694)\n\n### What changes were proposed in this pull request?\n\nThis PR introduces the `HARD_SPLIT_FROM_SERVER` response status code\n\n### Why are the changes needed?\n\nthe subtask for the #2691\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNo need",
          "is_bot": false,
          "headline": "[#2691] feat(client): Introduce the `HARD_SPLIT_FROM_SERVER` response…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-12-09T09:04:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4c2fd4e103b765535a685316e9cc17fcaae942f4",
          "body": "### What changes were proposed in this pull request?\n1. upgrade lz to the latest version of org.lz4:lz4-java \n2. replace `fastestInstance` to `safeInstance`\n \n### Why are the changes needed?\nTo address [CVE-202512183](https://sites.google.com/sonatype.com/vulnerabilities/cve-2025-12183)\n\n### Does this PR introduce _any_ user-facing change?\nNo.\n\n### How was this patch tested?\nExisting tests.",
          "is_bot": false,
          "headline": "chore: Update lz4 to address CVE-2025-12183 (#2693)",
          "author_name": "advancedxy",
          "author_login": "advancedxy",
          "committed_at": "2025-12-05T12:33:14Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "61e47b30fe1e86598125684fdf515bd239305655",
          "body": "### What changes were proposed in this pull request?\n\nAdded null checks to prevent NullPointerException in PartitionedShuffleBlockIdManager.getFinishedBlockIds():\n\nAdd null check for partitionToBlockId when shuffleId doesn't exist\nAdd null check for bitmap before calling or() method\n\n### Why are the\n[…]\nl for a specific partition\nThese defensive checks prevent the exception and gracefully handle edge cases.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUT",
          "is_bot": false,
          "headline": "[#2672] fix(server):  NPE in PartitionedShuffleBlockIdManager (#2690)",
          "author_name": "KCH",
          "author_login": "CPkch",
          "committed_at": "2025-12-03T02:13:23Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5bbe25e6cb643beaa9efe409f0e3a37ca5d86109",
          "body": "…timization in checkSentBlockCount (#2692)\n\n### What changes were proposed in this pull request?\n\nAdd unit tests to verify the `Roaring64NavigableMap` optimization introduced in PR #2687 for filtering duplicate blockIds from multiple replicas in `RssShuffleWriter#checkSentBlockCount`.\n\n### Why are t\n[…]\nf consecutive blockIds\n\nTest results:\n- Spark3 `RssShuffleWriterTest`: 9 tests passed (including 2 new tests)\n- Spark2 `RssShuffleWriterTest`: 5 tests passed (including 2 new tests)\n\nRelated PR: #2687",
          "is_bot": false,
          "headline": "[#2675] test(spark)(followup): Add tests for Roaring64NavigableMap op…",
          "author_name": "zhan7236",
          "author_login": "zhan7236",
          "committed_at": "2025-12-02T09:39:24Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "8cb662524f7e215391dfb77edfefb0ade8faa745",
          "body": "…er (#2688)\n\n### What changes were proposed in this pull request?\n\nThis PR disables the `dataPusher` initialization for Spark driver in cluster mode, as it's only needed for executors to push shuffle data.\n\n### Why are the changes needed?\n\nThe `dataPusher` is used to push shuffle data to shuffle ser\n[…]\n**RssShuffleManager.java (Spark 3)**: Added null check for `dataPusher.setRssAppId()` calls\n3. **RssShuffleManager.java (Spark 2)**: Added null check for `dataPusher.setRssAppId()` calls\n\nCloses #1603",
          "is_bot": false,
          "headline": "[#1603] feat(spark): Disable dataPusher initialization for Spark Driv…",
          "author_name": "zhan7236",
          "author_login": "zhan7236",
          "committed_at": "2025-12-01T02:34:28Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b53c535c538b1f93b2516b1abf8b6ef92c784b5d",
          "body": "…oaring64NavigableMap (#2687)\n\n### What changes were proposed in this pull request?\n\nReplace `HashSet<Long>` with `Roaring64NavigableMap` in `RssShuffleWriter#checkSentBlockCount` method for both Spark2 and Spark3 clients. This optimization uses a compressed bitmap data structure to filter duplicate\n[…]\nk3` profiles\n- All existing unit tests pass:\n  - `RssShuffleWriterTest` for Spark3: 7 tests passed\n  - `RssShuffleWriterTest` for Spark2: 3 tests passed\n- Code style verified with `mvn spotless:check`",
          "is_bot": false,
          "headline": "[#2675] improvement(spark): Optimize `checkSentBlockCount` by using R…",
          "author_name": "zhan7236",
          "author_login": "zhan7236",
          "committed_at": "2025-12-01T02:32:44Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "fa80c346e9eafc69ef7d752cee029e06913e8ad5",
          "body": "…2685)\n\n### What changes were proposed in this pull request?\n\nThis PR introduces an additional `isEnd` flag to indicate whether the end of the in-memory data has been reached.\nFor simplicity, this flag does not guarantee precise end-of-data detection; the client should still rely on its existing log\n[…]\nlient to repeatedly read the same tail of the sequence, resulting in an infinite loop.\n\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nexisting unit tests.",
          "is_bot": false,
          "headline": "[#2684] fix: Infinite memory data reading due to duplicate blockId (#…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-12-01T02:29:08Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "43bfd2012b624b3eb91f473582073784cdcf4072",
          "body": "…ion (#2680)\n\n### What changes were proposed in this pull request?\n\nThis PR is to fix the potential data mismatch when encountering the duplicate blockIds when the overlapping decompression is enabled.\n\nIn the one batch remote fetching, if partial blocks should be filtered out due to duplicating or \n[…]\neded?\n\nfix the data mismatch cases, that is found by the uniffle integrity validation mechanism.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests.",
          "is_bot": false,
          "headline": "[#2679] fix(spark): Potential data mismatch on overlapping decompress…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-24T02:20:40Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b6848f86c2107fe3a5d2428e4eed1debb88f00f0",
          "body": "…ty validation for Gluten (#2683)\n\n### What changes were proposed in this pull request?\n\nMake `shuffleWriteTaskStats` visible about integrity validation for Gluten\n\n### Why are the changes needed?\n\ntracked in #2682 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "[#2682] feat(spark): Make shuffleWriteTaskStats visible about integri…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-21T08:00:30Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d6df94ca8ed313ec63986273a744fa3574e78b98",
          "body": "…t on integrity validation (#2681)\n\n### What changes were proposed in this pull request?\n\nThis PR is to fix the incorrect aggregated expected record numbers when the partition split is activate. \n\n### Why are the changes needed?\n\nIf the partition split is activate and the server management is enable\n[…]\n for the integrity validation, the records check will fail due to the unmerged partition stats. \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests.",
          "is_bot": false,
          "headline": "[#2673] feat(spark)(part-2): Merge partition stats for partition spli…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-21T03:37:16Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "afe1b9a52d69abc28c8e693620c5170e101dbf88",
          "body": "…on noise (#2677)\n\n### What changes were proposed in this pull request?\n\nMove the reassign info logs to DEBUG to cut down on noise\n\n### Why are the changes needed?\n\nto reduce nosiy logs\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "improvement(spark): Move the reassign info logs to DEBUG to cut down …",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-19T04:04:27Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "de55bd90eecab19301c688a105f85a9b7873774a",
          "body": "…ition stats on shuffle servers (#2669)\n\n### What changes were proposed in this pull request?\n\nThis is the part-1 PR only with uniffle client changes of making the partition stats stored in the shuffle-server side to make the integrity validation mechanism more stable. BTW, the shuffle-servers side \n[…]\n the blockID store did.\n\n### Does this PR introduce _any_ user-facing change?\n\n`spark.rss.client.integrityValidation.serverManagementEnabled=false`\n\n### How was this patch tested?\n\nInternal job tests.",
          "is_bot": false,
          "headline": "[#2673] feat(spark)(part-1): Add client-side support for storing part…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-14T06:06:33Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "b40c5091dc1d11d39df24047613468be1b17dde3",
          "body": "…k handle it haven't bee updated (#2667)\n\n### What changes were proposed in this pull request?\n\nReconstruct the shuffle handle information from static spark handle if it hasn’t been updated. This means the latest shuffle handle data will no longer need to be transmitted through the RPC layer, reduci\n[…]\nanged, this behavior provides a natural point for optimization.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests could cover this PR's change.",
          "is_bot": false,
          "headline": "[#2665] feat(spark): Reconstruct the shuffle handle from initial spar…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-13T12:23:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "d6c5988208f071d7f2e226c3c45b8f623c49ff71",
          "body": "### What changes were proposed in this pull request?\n\nShow the shuffle failure reason into the spark UI\n\n### Why are the changes needed?\n\nfollowup issue #2508 to be more easier to find out the root cause of shuffle failure\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal job tests",
          "is_bot": false,
          "headline": "feat(spark): Show shuffle failures into spark UI (#2668)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-13T09:01:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f736c730262855bb97ee6fc2f3f5a6a461ae164c",
          "body": "…ecompression is enabled (#2650)\n\n### What changes were proposed in this pull request?\n\nCorrect fetched bytes metric when overlapping decompression is enabled\n\n### Why are the changes needed?\n\nIn the current codebase, the shuffle read bytes will be as the uncompressed byte size, that is inconsistent with the writer side statistics.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal job tests.",
          "is_bot": false,
          "headline": "[#2648] fix(spark): Incorrect fetched bytes metric when overlapping d…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-11T01:52:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a37936f2bc34f6c38082ea85559ea70ebfdc0f26",
          "body": "### What changes were proposed in this pull request?\n\n1. Add compression for task write stats\n2. Optional blocks number check mechanism (disabled by default)\n\n### Why are the changes needed?\n\nTo reduce the task write stats size\n\n### Does this PR introduce _any_ user-facing change?\n\n`spark.rss.client.integrityValidation.blockNumberCheckEnabled=false`\n\n### How was this patch tested?\n\nUnit tests.",
          "is_bot": false,
          "headline": "[#2652] feat(spark): Add compression for task write stats (#2666)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-07T05:56:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1f371e854314a92aaa115dedcfbb0e2194617f7b",
          "body": "### What changes were proposed in this pull request?\n\nMake integrity validation disabled by default\n\n### Why are the changes needed?\n\nthis feature is still in experimental\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "feat(spark): Make integrity validation disabled by default (#2664)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-06T03:39:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "17d2b257e3094d3d4d285d1ff0e584e51ecefae2",
          "body": "…ompressing data (#2651)\n\n### What changes were proposed in this pull request?\n\nThis PR is to introduce the timeout mechanism when getting the overlapping decompression data.\n\n### Why are the changes needed?\n\nIf not having this PR, the blocking wait have the potential risk to forever hang of the tas\n[…]\nintroduce _any_ user-facing change?\n\n`rss.client.read.overlappingDecompressionFetchSecondsThreshold=-1`, this mechanism will be disabled by default.\n\n### How was this patch tested?\n\nInternal job tests",
          "is_bot": false,
          "headline": "[#2649] feat(spark): Introduce timeout mechanism when getting the dec…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-04T09:11:52Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "6e24451231d5f56c797429a6fd83dd2e0b39ce72",
          "body": "### What changes were proposed in this pull request?\n\nenhance the spark client logs\n\n### Why are the changes needed?\n\nThis PR aims to simplify and enhance the Spark client logs.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "refactor: Enhance spark client logs (#2662)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-03T12:14:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d9815c06fea0f98a4afe2135869a7dc443c0fc93",
          "body": "…is (#2657)\n\n### What changes were proposed in this pull request?\n\nThis PR is to add the detailed integrity validation failure analysis to hopefully get the concrate upstream task attempt id for the further dig.\n\n### Why are the changes needed?\n\nthe followup for the #2653 \n\n### Does this PR introduce _any_ user-facing change?\n\n`spark.rss.client.integrityValidation.failureAnalysisEnabled=false`\n\n### How was this patch tested?\n\nUnit tests.",
          "is_bot": false,
          "headline": "[#2652] feat(spark): Add detailed integrity validation failure analys…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-03T02:06:25Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "bef547d44650738256adac05162b2a3efacb8c74",
          "body": "… worker (#2661)\n\n### What changes were proposed in this pull request?\n\nfix npe on adding data into overlapping decompression worker\n\n### Why are the changes needed?\n\nfix #2654 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\ninternal job tests",
          "is_bot": false,
          "headline": "[#2654] fix(spark): NPE on adding data into overlapping decompression…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-03T01:51:29Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8124152504ee823fbfdde7646cf812290f51c8de",
          "body": "…660)\n\n### What changes were proposed in this pull request?\n\nSimplify client output logs for writer/reader\n\n### Why are the changes needed?\n\nToo much unncessary logs are so mess\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "improvement(spark): Simplify client output logs for writer/reader (#2…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-11-03T01:51:11Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "8bfe1d33c08bcfb8739339d379961584995bd15c",
          "body": null,
          "is_bot": false,
          "headline": "chore: fix typo in `applicationpage.js` (#2656)",
          "author_name": "Ruilei Ma",
          "author_login": "merrily01",
          "committed_at": "2025-10-29T11:24:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6aef84634d7abfed1f65a4e8c37cfa95b3fd7591",
          "body": "…re data consistency (#2653)\n\n### What changes were proposed in this pull request?\n\nThis PR ensures end-to-end data consistency by verifying the record counts of each partition.\nIn this initial step, ShuffleWriteTaskStats is introduced to store record counts for validation.\nIn the next phase, this m\n[…]\n# Why are the changes needed?\n\nfor the #2652\n\n### Does this PR introduce _any_ user-facing change?\n\n`spark.rss.client.integrityValidation.enabled=false` . \n\n### How was this patch tested?\n\nUnit tests.",
          "is_bot": false,
          "headline": "[#2652] feat(spark): Introduce partition records number check to ensu…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-10-29T03:34:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5671a05b113a09065ebd5fb51bc4d492353b9283",
          "body": "…sion is enabled (#2647)\n\n### What changes were proposed in this pull request?\n\nThis PR is to fix the decompression time is always 0 when overlapping decompression is enabled\n\n### Why are the changes needed?\n\nWhen the overlapping decompression is enabled, the decompression time is always zero.\n\n<img\n[…]\nrc=\"https://github.com/user-attachments/assets/098a95ff-6a75-4a50-80bb-b7cbef1f5d25\" />\n\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal job tests.",
          "is_bot": false,
          "headline": "fix(spark): decompression time is always 0 when overlapping decompres…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-10-22T07:36:04Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "5edf952826aebbbbfaade287e1c39171394d6c43",
          "body": "…kInfo (#2638)\n\n### What changes were proposed in this pull request?\nFix `IllegalReferenceCountException` about ShuffleBlockInfo\n\n### Why are the changes needed?\nfor https://github.com/apache/uniffle/issues/2517\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\ncurrent UT",
          "is_bot": false,
          "headline": "[#2517] fix(client): IllegalReferenceCountException about ShuffleBloc…",
          "author_name": "Neo Chien",
          "author_login": "cchung100m",
          "committed_at": "2025-10-20T09:49:52Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "42c5d9f79b3fc90b9bdd0a9058c0954dbc9d5510",
          "body": "### What changes were proposed in this pull request?\n\nInvolve shuffle failure into the event logs\n\n### Why are the changes needed?\n\nfor #2644\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal job tests",
          "is_bot": false,
          "headline": "[#2644] feat(spark): Involve shuffle failure into the event logs (#2645)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-10-20T09:49:28Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "11881ab92706bb8cf3a2bad556ed5e545ac890cb",
          "body": "…641)\n\n### What changes were proposed in this pull request?\n\nThis PR is to Involve background prefetch time in spark UI\n\n### Why are the changes needed?\n\nfor #2640 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal job test",
          "is_bot": false,
          "headline": "[#2640] feat(spark): Involve background prefetch time in spark UI (#2…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-10-15T01:37:57Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "895291322752741603966d55295f01b26b8379ea",
          "body": null,
          "is_bot": false,
          "headline": "chore: Add the space for ComposedClientReadHandler log (#2643)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-10-15T01:37:21Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1642c4dce78c8337a10b208a8389a090a906998b",
          "body": "…n spark UI (#2639)\n\n### What changes were proposed in this pull request?\n\nTo show the background overlapping decompress time in Spark UI\n\n### Why are the changes needed?\n\nMore easiler to observe the performance improvement ratio\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal job tests.",
          "is_bot": false,
          "headline": "[#2494] feat(spark): Involve background overlapping decompress time i…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-10-14T05:48:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4805d1335aae06fa699ee3c2f17d94f599f3cb2c",
          "body": "…PC cost when partition reassign is enabled (#2637)\n\n### What changes were proposed in this pull request?\n\nThis PR is to introduce the cache mechanism to cache the read shuffle handle info to reduce the RPC cost and driver the GC pressure when the partition reassign is enabled\n\n### Why are the chang\n[…]\nhuffle info getting for the reader side. \n\n### Does this PR introduce _any_ user-facing change?\n\nYes.\n\n`rss.client.read.shuffleHandleCacheEnabled=false`\n\n### How was this patch tested?\n\nExisting tests",
          "is_bot": false,
          "headline": "[#2636] feat(spark): Cache shuffle handle info for reader to reduce R…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-30T06:22:27Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "872926122a67d6dc8da8fb5a9286d6dd0b86bf95",
          "body": "…osition and limit (#2634)\n\n### What changes were proposed in this pull request?\n\nRefactor the uncompression buffer to reset by the explicit position=0 and limit=len\n\n### Why are the changes needed?\n\nThis may be related with the bug #2630 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests",
          "is_bot": false,
          "headline": "improvement(spark): Always reset decompression buffer with explicit p…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-30T02:17:39Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1d162dcf65b247d298fb35d1b64e1c392f40f285",
          "body": "…port retry (#2632)\n\n### What changes were proposed in this pull request?\n\nSolve the problem of data loss caused by Spark task retries and Block metadata Report retries.\n\n### Why are the changes needed?\n\nFix: #2631 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExist UT.",
          "is_bot": false,
          "headline": "[#2631] fix(server): Potential data loss due to the shuffle result re…",
          "author_name": "yl09099",
          "author_login": "yl09099",
          "committed_at": "2025-09-26T09:34:32Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "770eab1245d3df79d41b11f985aa387a17a6104b",
          "body": "…ion (#2633)\n\n### What changes were proposed in this pull request?\n\n1. Add more statistics about overlapping decompression to measure speedup ratio\n\n### Why are the changes needed?\n\n#2494 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeen't",
          "is_bot": false,
          "headline": "[#2494] feat(spark): Add more statistics about overlapping decompress…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-26T09:34:06Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1bd7468863d1c75424c9b31f77ba9b8166933afd",
          "body": "… to driver (#2629)\n\n### What changes were proposed in this pull request?\n\nSkip failure when reporting shuffle write metrics to driver\n\n### Why are the changes needed?\n\nfollowup the PR for the #2592 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't\n\nCo-authored-by: Junfan Zhang <zhangjunfan@qiyi.com>",
          "is_bot": false,
          "headline": "[#2592] fix(spark): Skip failure when reporting shuffle write metrics…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-25T02:30:40Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96e96f8e5c2ae2c38d73313beee6b4c9cb26cbcc",
          "body": "…agerClient (#2627)\n\n### What changes were proposed in this pull request?\n\nRespect `rss.client.rpc.maxAttempts` in ShuffleManagerClient\n\n### Why are the changes needed?\n\n#2626 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeen't\n\nCo-authored-by: Junfan Zhang <zhangjunfan@qiyi.com>",
          "is_bot": false,
          "headline": "[#2626] feat(spark): Respect rss.client.rpc.maxAttempts in ShuffleMan…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-25T02:30:13Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "3ccd91f1bcc85cc791ab1017ba199d38679118cd",
          "body": "…h for getLocalShuffleDataV3 (#2617)\n\n### What changes were proposed in this pull request?\nAdd test case for Incorrect header length for getLocalShuffleDataV3\n\n### Why are the changes needed?\nfor https://github.com/apache/uniffle/issues/2614\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nUT",
          "is_bot": false,
          "headline": "[#2614] improvement(client): Add test case for Incorrect header lengt…",
          "author_name": "Neo Chien",
          "author_login": "cchung100m",
          "committed_at": "2025-09-22T09:02:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "6ad3aa0f34c7d58ad3bf04697d9c738b0ec4df71",
          "body": "### What changes were proposed in this pull request?\n\nFix the invalid reassign status show in spark UI tab\n\n### Why are the changes needed?\n\nIn the original design, the reassign info event is sent in the final stop method. However, because the post operation runs asynchronously, the listener may not receive the event before the JVM shuts down, so the event is effectively dropped.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal spark job test",
          "is_bot": false,
          "headline": "[#2618] fix(spark): Invalid reassign status show in spark UI tab (#2620)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-22T08:56:36Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "abca5814f3c9ed6a3e5604ec102cfb37cf784133",
          "body": "…ionSplitAssignment (#2623)\n\n### What changes were proposed in this pull request?\n\nMake shuffleServerInfo comparable for `updatePartitionSplitAssignment`\n\n### Why are the changes needed?\n\nfix 2622\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests",
          "is_bot": false,
          "headline": "[#2622] fix(spark): Make shuffleServerInfo comparable on updatePartit…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-19T07:52:05Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9338529baec1086a46220c9b6090623d009c441d",
          "body": "### What changes were proposed in this pull request?\n\nFix the NPE in `ShuffleReadTimes.merge`\n\n### Why are the changes needed?\n\nfix #2619\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeen't",
          "is_bot": false,
          "headline": "[#2619] fix(spark): NPE in ShuffleReadTimes.merge (#2621)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-19T06:17:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "ad66fe9d55c2afd69df08d3f93f44d2ef6880fa1",
          "body": "This reverts commit 10aa39dccb6d3b3d9ee681ee335d5af4b00934aa.",
          "is_bot": false,
          "headline": "Revert \"Remove protected branch (#2615)\" (#2624)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-18T07:00:42Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "67bd7af1d89e06f277d6e14a64f700f407ee5ce0",
          "body": null,
          "is_bot": false,
          "headline": "fix: Remove incubator to correct uniffle svn url (#2625)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-18T07:00:26Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e0a49b934f55e39b1d9289e021a5886a75f8438d",
          "body": null,
          "is_bot": false,
          "headline": "Just a minor",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-17T11:24:17Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "10aa39dccb6d3b3d9ee681ee335d5af4b00934aa",
          "body": null,
          "is_bot": false,
          "headline": "Remove protected branch (#2615)",
          "author_name": "roryqi",
          "author_login": "roryqi",
          "committed_at": "2025-09-17T11:16:35Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "1a46e2d0ce3775826654271e9a86e1287ea0a338",
          "body": "…rk (#2600)\n\n### What changes were proposed in this pull request?\n\nFix bug: Incorrect shuffle read metric for Spark\n\n### Why are the changes needed?\nfor https://github.com/apache/uniffle/issues/2599\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nUT",
          "is_bot": false,
          "headline": "[#2599] fix(spark): Fix bug the incorrect shuffle read metric for spa…",
          "author_name": "Neo Chien",
          "author_login": "cchung100m",
          "committed_at": "2025-09-16T06:07:01Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "04964f30e367e5d698f2965c287474ded0f0b71b",
          "body": "### What changes were proposed in this pull request?\n\nIntroduce a configuration `mapreduce.rss.client.combiner.enable` to control whether the map-stage combiner runs in Uniffle MapReduce client.  \nDefault value is `false` to prevent job instability caused by large send-buffer GC storm.\n\n### Why are \n[…]\n minutes.\n\nThese logs demonstrate that disabling the map-stage combiner avoids severe GC overhead and job stalls, validating the safety switch.\n\n---------\n\nCo-authored-by: Lobo2008 <842315999@qq.coom>",
          "is_bot": false,
          "headline": "[#2606] feat(mr): Add safety switch for map-stage combiner (#2607)",
          "author_name": "l.zonghai",
          "author_login": "Lobo2008",
          "committed_at": "2025-09-16T02:08:39Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "7015613adb6759861ff85478dd0590485f131b84",
          "body": "…uten can invoke it to trigger reassign ASSP (#2610)\n\n### What changes were proposed in this pull request?\n\nThis PR is exposing the `checkDataIfAnyFailure` method with protected modifier, so that the Gluten can invoke this to trigger reassign mechanism as soon as possible.\n\n### Why are the changes needed?\n\nfor #2609 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeen't",
          "is_bot": false,
          "headline": "[#2609] feat(spark): Expose `checkDataIfAnyFailure` method so that Gl…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-16T02:06:54Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "9fdde02b51a04176e29508a39583e0021547f3a0",
          "body": "…taV3 (#2605)\n\n### What changes were proposed in this pull request?\n\nFix missing task_id propagation in getLocalShuffleDataV3\n\n### Why are the changes needed?\n\nTask_id is invalid \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nInternal tests.",
          "is_bot": false,
          "headline": "[#2591] fix(client): Missing task_id propagation in getLocalShuffleDa…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-11T09:43:37Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "14a50985a01244192b85ed5ff9c61625c9912319",
          "body": "…3 (#2604)\n\n### What changes were proposed in this pull request?\n\nFix incorrect header length for getLocalShuffleDataV3\n\n### Why are the changes needed?\n\nThis will make getLocalShuffleDataV3 invalid\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nTested in our internal jobs.",
          "is_bot": false,
          "headline": "[#2591] fix(client): Incorrect header length for getLocalShuffleDataV…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-11T09:43:04Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "96bf76cbc9d9bbe51c3e8a502ba37b32ae2ce8d6",
          "body": "…d plan (#2603)\n\n### What changes were proposed in this pull request?\n\nThis PR introduces a mechanism to report localfile read plan, and the changes only are scoped in the client side. More changes should be added in the shuffle server in the future.\n\n### Why are the changes needed?\n\nFor normal part\n[…]\n thereby benefit from read-ahead optimization.\n\n### Does this PR introduce _any_ user-facing change?\n\nYes. And this feature will be disabled by default\n\n### How was this patch tested?\n\nExisting tests.",
          "is_bot": false,
          "headline": "[#2591] feat(client): Introduce the mechanism to report localfile rea…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-09T11:36:18Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "1e48bc673d1c0ee41f889a0de6192b0fab131467",
          "body": "…read (#2602)\n\n### What changes were proposed in this pull request?\n\nThis PR is to introduce the overlapping decompression for the shuffle reading for the better shuffle speed.\n\n### Why are the changes needed?\n\nfor #2601\n\nWhen applying the https://github.com/apache/uniffle/pull/2598 into the benchma\n[…]\nge\" src=\"https://github.com/user-attachments/assets/707598fb-0850-4d38-8453-f34f852fc6af\" />\n\n\n### Does this PR introduce _any_ user-facing change?\n\nYes\n\n### How was this patch tested?\n\n1. Unit tests.",
          "is_bot": false,
          "headline": "[#2601] feat(spark): Introduce overlapping decompression for shuffle …",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-05T09:02:41Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "2a32171b9724272276797ede17eb057027df5767",
          "body": "### What changes were proposed in this pull request?\n\nAdd statistic of shuffle read times to find the bottleneck for shuffle reading\n\n### Why are the changes needed?\n\nfor #2569\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nTests in cluster",
          "is_bot": false,
          "headline": "[#2569] feat(spark): Add statistic of shuffle read times (#2598)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-09-04T09:26:41Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "d5e689c32aaaa69465fe92d0c79a773321ffd1b9",
          "body": "…s to driver (#2593)\n\n### What changes were proposed in this pull request?\n\nIgnore failure when reporting shuffle read metrics to driver\n\n### Why are the changes needed?\n\nfix #2592 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "[#2592] fix(spark): Ignore failure when reporting shuffle read metric…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-27T02:15:00Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "32f4ac6c530058f7342dc17f6e707dad428f74b1",
          "body": "…egative (#2589)\n\n### What changes were proposed in this pull request?\nFix java.lang.IndexOutOfBoundsException: len is negative\n\n### Why are the changes needed?\nfor https://github.com/apache/uniffle/issues/2575\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nUT",
          "is_bot": false,
          "headline": "[#2575] fix(spark): Fix java.lang.IndexOutOfBoundsException: len is n…",
          "author_name": "Neo Chien",
          "author_login": "cchung100m",
          "committed_at": "2025-08-26T06:15:46Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "f3bc84fbe82f85bcc6d0be2b6a8cf17bdb1291ff",
          "body": "### What changes were proposed in this pull request?\n\n1. Enable overlapping compression by default\n2. Add doc for this feature\n\n### Why are the changes needed?\n\nfor #2494 \n\n### Does this PR introduce _any_ user-facing change?\n\nYes.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "[#2494] feat(spark): Enable overlapping compression by default (#2588)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-25T02:32:55Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "fe0ff7e60efab90a556554f4afb46f0caea6c2ce",
          "body": "…it with LOAD_BALANCE mode without reassign (#2587)\n\n### What changes were proposed in this pull request?\n\nThis PR is to support writer switching servers on partition split with LOAD_BALANCE mode without reassign. \n\n### Why are the changes needed?\n\nfix #2586 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nUnit tests",
          "is_bot": false,
          "headline": "[#2586] fix(spark): Support writer switching servers on partition spl…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-22T02:08:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "e787d87c96f3d040e23b366afe378b657a02453d",
          "body": "…cas for reader (#2584)\n\n### What changes were proposed in this pull request?\n\nOnly enable taskIds filter mechanism on AQE skew hit and multi replicas. Previously, when multi shuffle servers are assigned for reader to read, it will enable this mechanism, that will hurt the shuffle-servers performanc\n[…]\ntition reassign (partition split) is enabled.\n\n### Why are the changes needed?\n\nTo fix #2583 \n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests",
          "is_bot": false,
          "headline": "[#2583] fix(spark): Enable taskIds filter only on AQE and multi repli…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-19T06:27:58Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "0facb7be1913c088eab5c5d9970ab0766a884a99",
          "body": "…HandleInfo` to reduce RPC memory overhead (#2578)\n\n### What changes were proposed in this pull request?\n\nThis PR uses a space-efficient protobuf data structure to store the partitions-to-servers mapping, thereby reducing the RPC cost.\n\n### Why are the changes needed?\n\nThis is the part of PR for the\n[…]\nfor RPC transfers, which could significantly increase the frequency of driver garbage collection.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo\n\n### How was this patch tested?\n\nUnit tests.",
          "is_bot": false,
          "headline": "[#2568] feat(spark): Use space-efficient protobuf for `MutableShuffle…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-19T06:24:06Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "9b611cf147f07ede5db66f682db60a1ae7e48992",
          "body": "### What changes were proposed in this pull request?\nAdd some docs for LAB\n\n### Why are the changes needed?\nFix: #2527\n\n### Does this PR introduce any user-facing change?\nNo.\n\n### How was this patch tested?\nCI",
          "is_bot": false,
          "headline": "[#2527] docs: Add some docs for LAB (#2585)",
          "author_name": "xianjingfeng",
          "author_login": "xianjingfeng",
          "committed_at": "2025-08-19T02:47:22Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "7f1586e9ca1935cac54cc3f9efd2a2e98582a2ec",
          "body": "…ion (#2580)\n\n### What changes were proposed in this pull request?\n\nThis PR fixes the partition length calculation for overlapping compression. Previously, when overlapping compression was enabled, the partition length was recorded as the uncompressed length, which broke the default Spark semantics.\n[…]\nct semantic of partition length for overlapping compression, this will effect the AQE rules.\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests.",
          "is_bot": false,
          "headline": "[#2579] fix(spark): Correct partition length for overlapping compress…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-18T06:41:19Z",
          "body_truncated": true,
          "is_coding_agent": false
        },
        {
          "oid": "e6f0941ad9768beb83ec330c964d20a3ce2e55e3",
          "body": "…ate` to align with method semantics (#2582)\n\n### What changes were proposed in this pull request?\n\nUse `SparkContext.getActive` instead of `getOrCreate` to better align with the intended semantics for external invocation.\n\n### Why are the changes needed?\n\nFix #2581\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nAdded unit test",
          "is_bot": false,
          "headline": "[#2581] fix(spark): Use `SparkContext.getActive` instead of `getOrCre…",
          "author_name": "Zhen Wang",
          "author_login": "wForget",
          "committed_at": "2025-08-14T03:15:12Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "a1974f6e3dc9272efab7b32e5865912033ff6f0e",
          "body": "…oncurrent hashmap (#2577)\n\n### What changes were proposed in this pull request?\n\nCache the java9+ var to eliminate lock when creating concurrent hashmap\n\n### Why are the changes needed?\n\nfix #2576 .\n\n`Enums.getIfPresent` will always using the global lock, this is unnecessary and hurt the performance\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nExisting tests.",
          "is_bot": false,
          "headline": "[#2576] fix: Warm up java version var to eliminate lock on creating c…",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-12T02:19:58Z",
          "body_truncated": false,
          "is_coding_agent": false
        },
        {
          "oid": "4eb83eea26a02a83372f88378399ceb0075858c8",
          "body": "### What changes were proposed in this pull request?\n\nUsing the thread safe way to add shuffle-servers to emlinate race condition\n\n### Why are the changes needed?\n\nfix #2571\n\n### Does this PR introduce _any_ user-facing change?\n\nNo.\n\n### How was this patch tested?\n\nNeedn't",
          "is_bot": false,
          "headline": "[#2571] fix(client): Race condition when adding shuffle servers (#2574)",
          "author_name": "Junfan Zhang",
          "author_login": "zuston",
          "committed_at": "2025-08-05T09:40:07Z",
          "body_truncated": false,
          "is_coding_agent": false
        }
      ],
      "releases_count": 9,
      "commits_last_year": 115,
      "latest_release_at": "2025-09-25T08:00:51Z",
      "latest_release_tag": "v0.10.0",
      "releases_from_tags": false,
      "days_since_last_push": 5,
      "active_weeks_last_year": 38,
      "days_since_latest_release": 299,
      "mean_days_between_releases": 133
    },
    "community": {
      "has_readme": true,
      "has_license": true,
      "has_description": true,
      "has_contributing": true,
      "health_percentage": 87,
      "has_issue_template": false,
      "has_code_of_conduct": true,
      "has_pull_request_template": true
    },
    "ecosystem": {
      "packages": []
    },
    "popularity": {
      "forks": 170,
      "stars": 451,
      "watchers": 16,
      "fork_history": {
        "days": [
          {
            "date": "2022-07-01",
            "count": 8
          },
          {
            "date": "2022-07-02",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 2
          },
          {
            "date": "2022-07-05",
            "count": 3
          },
          {
            "date": "2022-07-09",
            "count": 2
          },
          {
            "date": "2022-07-11",
            "count": 2
          },
          {
            "date": "2022-07-17",
            "count": 1
          },
          {
            "date": "2022-07-20",
            "count": 2
          },
          {
            "date": "2022-07-22",
            "count": 1
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-28",
            "count": 1
          },
          {
            "date": "2022-07-29",
            "count": 1
          },
          {
            "date": "2022-08-05",
            "count": 1
          },
          {
            "date": "2022-08-10",
            "count": 1
          },
          {
            "date": "2022-09-06",
            "count": 2
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-17",
            "count": 1
          },
          {
            "date": "2022-09-20",
            "count": 1
          },
          {
            "date": "2022-09-24",
            "count": 1
          },
          {
            "date": "2022-09-29",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 1
          },
          {
            "date": "2022-10-09",
            "count": 1
          },
          {
            "date": "2022-10-17",
            "count": 1
          },
          {
            "date": "2022-10-20",
            "count": 1
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-11-14",
            "count": 1
          },
          {
            "date": "2022-11-20",
            "count": 1
          },
          {
            "date": "2022-11-22",
            "count": 1
          },
          {
            "date": "2022-11-25",
            "count": 1
          },
          {
            "date": "2022-11-26",
            "count": 2
          },
          {
            "date": "2022-11-28",
            "count": 2
          },
          {
            "date": "2022-12-01",
            "count": 2
          },
          {
            "date": "2022-12-08",
            "count": 1
          },
          {
            "date": "2022-12-23",
            "count": 1
          },
          {
            "date": "2023-01-12",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-01-31",
            "count": 1
          },
          {
            "date": "2023-02-03",
            "count": 1
          },
          {
            "date": "2023-02-14",
            "count": 2
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 1
          },
          {
            "date": "2023-03-07",
            "count": 2
          },
          {
            "date": "2023-03-11",
            "count": 1
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-28",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-03-30",
            "count": 1
          },
          {
            "date": "2023-04-02",
            "count": 1
          },
          {
            "date": "2023-04-03",
            "count": 1
          },
          {
            "date": "2023-04-07",
            "count": 1
          },
          {
            "date": "2023-04-22",
            "count": 1
          },
          {
            "date": "2023-05-07",
            "count": 1
          },
          {
            "date": "2023-05-09",
            "count": 1
          },
          {
            "date": "2023-05-10",
            "count": 1
          },
          {
            "date": "2023-05-11",
            "count": 1
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-22",
            "count": 1
          },
          {
            "date": "2023-05-24",
            "count": 1
          },
          {
            "date": "2023-05-28",
            "count": 1
          },
          {
            "date": "2023-05-30",
            "count": 1
          },
          {
            "date": "2023-06-01",
            "count": 1
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-07",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-14",
            "count": 1
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-08-01",
            "count": 1
          },
          {
            "date": "2023-08-04",
            "count": 1
          },
          {
            "date": "2023-08-05",
            "count": 1
          },
          {
            "date": "2023-08-07",
            "count": 2
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-08-14",
            "count": 2
          },
          {
            "date": "2023-08-17",
            "count": 1
          },
          {
            "date": "2023-08-18",
            "count": 1
          },
          {
            "date": "2023-08-29",
            "count": 1
          },
          {
            "date": "2023-09-08",
            "count": 2
          },
          {
            "date": "2023-09-22",
            "count": 1
          },
          {
            "date": "2023-10-07",
            "count": 1
          },
          {
            "date": "2023-10-16",
            "count": 1
          },
          {
            "date": "2023-10-25",
            "count": 1
          },
          {
            "date": "2023-10-30",
            "count": 1
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-03",
            "count": 1
          },
          {
            "date": "2023-11-04",
            "count": 1
          },
          {
            "date": "2023-11-15",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 1
          },
          {
            "date": "2023-12-05",
            "count": 1
          },
          {
            "date": "2023-12-09",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 1
          },
          {
            "date": "2024-01-29",
            "count": 1
          },
          {
            "date": "2024-02-04",
            "count": 2
          },
          {
            "date": "2024-02-09",
            "count": 1
          },
          {
            "date": "2024-02-15",
            "count": 1
          },
          {
            "date": "2024-02-28",
            "count": 1
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-05-20",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-06-24",
            "count": 1
          },
          {
            "date": "2024-07-02",
            "count": 1
          },
          {
            "date": "2024-07-05",
            "count": 2
          },
          {
            "date": "2024-07-09",
            "count": 1
          },
          {
            "date": "2024-07-18",
            "count": 1
          },
          {
            "date": "2024-07-20",
            "count": 1
          },
          {
            "date": "2024-08-08",
            "count": 1
          },
          {
            "date": "2024-09-26",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 1
          },
          {
            "date": "2024-10-21",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 1
          },
          {
            "date": "2025-01-18",
            "count": 1
          },
          {
            "date": "2025-01-20",
            "count": 1
          },
          {
            "date": "2025-02-06",
            "count": 1
          },
          {
            "date": "2025-02-20",
            "count": 1
          },
          {
            "date": "2025-03-21",
            "count": 1
          },
          {
            "date": "2025-05-04",
            "count": 1
          },
          {
            "date": "2025-05-23",
            "count": 1
          },
          {
            "date": "2025-06-27",
            "count": 1
          },
          {
            "date": "2025-07-02",
            "count": 1
          },
          {
            "date": "2025-07-06",
            "count": 1
          },
          {
            "date": "2025-07-07",
            "count": 1
          },
          {
            "date": "2025-07-15",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-09-11",
            "count": 1
          },
          {
            "date": "2025-10-11",
            "count": 1
          },
          {
            "date": "2025-10-16",
            "count": 1
          },
          {
            "date": "2025-11-13",
            "count": 1
          },
          {
            "date": "2025-11-14",
            "count": 1
          },
          {
            "date": "2025-11-27",
            "count": 1
          },
          {
            "date": "2025-11-28",
            "count": 1
          },
          {
            "date": "2025-12-09",
            "count": 1
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 1
          },
          {
            "date": "2026-01-26",
            "count": 1
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-05-14",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 163,
        "total_forks": 170
      },
      "star_history": {
        "days": [
          {
            "date": "2022-06-20",
            "count": 1
          },
          {
            "date": "2022-06-23",
            "count": 1
          },
          {
            "date": "2022-07-01",
            "count": 28
          },
          {
            "date": "2022-07-02",
            "count": 4
          },
          {
            "date": "2022-07-03",
            "count": 1
          },
          {
            "date": "2022-07-04",
            "count": 8
          },
          {
            "date": "2022-07-05",
            "count": 4
          },
          {
            "date": "2022-07-06",
            "count": 4
          },
          {
            "date": "2022-07-07",
            "count": 3
          },
          {
            "date": "2022-07-08",
            "count": 1
          },
          {
            "date": "2022-07-09",
            "count": 2
          },
          {
            "date": "2022-07-11",
            "count": 1
          },
          {
            "date": "2022-07-12",
            "count": 2
          },
          {
            "date": "2022-07-13",
            "count": 1
          },
          {
            "date": "2022-07-14",
            "count": 3
          },
          {
            "date": "2022-07-16",
            "count": 1
          },
          {
            "date": "2022-07-19",
            "count": 2
          },
          {
            "date": "2022-07-20",
            "count": 17
          },
          {
            "date": "2022-07-21",
            "count": 1
          },
          {
            "date": "2022-07-24",
            "count": 1
          },
          {
            "date": "2022-07-25",
            "count": 3
          },
          {
            "date": "2022-07-26",
            "count": 1
          },
          {
            "date": "2022-07-27",
            "count": 2
          },
          {
            "date": "2022-07-28",
            "count": 2
          },
          {
            "date": "2022-08-01",
            "count": 1
          },
          {
            "date": "2022-08-02",
            "count": 1
          },
          {
            "date": "2022-08-03",
            "count": 2
          },
          {
            "date": "2022-08-04",
            "count": 2
          },
          {
            "date": "2022-08-05",
            "count": 1
          },
          {
            "date": "2022-08-06",
            "count": 1
          },
          {
            "date": "2022-08-08",
            "count": 1
          },
          {
            "date": "2022-08-09",
            "count": 2
          },
          {
            "date": "2022-08-10",
            "count": 1
          },
          {
            "date": "2022-08-11",
            "count": 2
          },
          {
            "date": "2022-08-18",
            "count": 1
          },
          {
            "date": "2022-08-19",
            "count": 1
          },
          {
            "date": "2022-08-22",
            "count": 1
          },
          {
            "date": "2022-08-23",
            "count": 1
          },
          {
            "date": "2022-08-25",
            "count": 5
          },
          {
            "date": "2022-08-29",
            "count": 1
          },
          {
            "date": "2022-08-30",
            "count": 1
          },
          {
            "date": "2022-08-31",
            "count": 3
          },
          {
            "date": "2022-09-01",
            "count": 1
          },
          {
            "date": "2022-09-05",
            "count": 1
          },
          {
            "date": "2022-09-07",
            "count": 1
          },
          {
            "date": "2022-09-09",
            "count": 1
          },
          {
            "date": "2022-09-13",
            "count": 1
          },
          {
            "date": "2022-09-15",
            "count": 1
          },
          {
            "date": "2022-09-22",
            "count": 1
          },
          {
            "date": "2022-09-26",
            "count": 1
          },
          {
            "date": "2022-09-29",
            "count": 1
          },
          {
            "date": "2022-10-04",
            "count": 1
          },
          {
            "date": "2022-10-10",
            "count": 1
          },
          {
            "date": "2022-10-12",
            "count": 1
          },
          {
            "date": "2022-10-14",
            "count": 1
          },
          {
            "date": "2022-10-19",
            "count": 2
          },
          {
            "date": "2022-10-20",
            "count": 1
          },
          {
            "date": "2022-10-21",
            "count": 1
          },
          {
            "date": "2022-10-22",
            "count": 1
          },
          {
            "date": "2022-10-26",
            "count": 4
          },
          {
            "date": "2022-10-27",
            "count": 1
          },
          {
            "date": "2022-11-02",
            "count": 1
          },
          {
            "date": "2022-11-07",
            "count": 2
          },
          {
            "date": "2022-11-08",
            "count": 1
          },
          {
            "date": "2022-11-09",
            "count": 2
          },
          {
            "date": "2022-11-10",
            "count": 1
          },
          {
            "date": "2022-11-16",
            "count": 1
          },
          {
            "date": "2022-11-17",
            "count": 1
          },
          {
            "date": "2022-11-18",
            "count": 1
          },
          {
            "date": "2022-11-19",
            "count": 1
          },
          {
            "date": "2022-11-22",
            "count": 1
          },
          {
            "date": "2022-11-23",
            "count": 1
          },
          {
            "date": "2022-11-25",
            "count": 2
          },
          {
            "date": "2022-11-29",
            "count": 2
          },
          {
            "date": "2022-12-01",
            "count": 2
          },
          {
            "date": "2022-12-04",
            "count": 1
          },
          {
            "date": "2022-12-09",
            "count": 1
          },
          {
            "date": "2022-12-16",
            "count": 2
          },
          {
            "date": "2022-12-18",
            "count": 1
          },
          {
            "date": "2022-12-21",
            "count": 1
          },
          {
            "date": "2022-12-24",
            "count": 1
          },
          {
            "date": "2022-12-28",
            "count": 1
          },
          {
            "date": "2022-12-29",
            "count": 1
          },
          {
            "date": "2023-01-06",
            "count": 1
          },
          {
            "date": "2023-01-08",
            "count": 1
          },
          {
            "date": "2023-01-09",
            "count": 2
          },
          {
            "date": "2023-01-11",
            "count": 1
          },
          {
            "date": "2023-01-12",
            "count": 1
          },
          {
            "date": "2023-01-13",
            "count": 1
          },
          {
            "date": "2023-01-16",
            "count": 1
          },
          {
            "date": "2023-01-17",
            "count": 1
          },
          {
            "date": "2023-01-18",
            "count": 2
          },
          {
            "date": "2023-01-19",
            "count": 1
          },
          {
            "date": "2023-01-28",
            "count": 1
          },
          {
            "date": "2023-01-31",
            "count": 3
          },
          {
            "date": "2023-02-01",
            "count": 1
          },
          {
            "date": "2023-02-02",
            "count": 1
          },
          {
            "date": "2023-02-09",
            "count": 1
          },
          {
            "date": "2023-02-10",
            "count": 1
          },
          {
            "date": "2023-02-16",
            "count": 1
          },
          {
            "date": "2023-02-17",
            "count": 4
          },
          {
            "date": "2023-02-21",
            "count": 1
          },
          {
            "date": "2023-02-22",
            "count": 3
          },
          {
            "date": "2023-02-24",
            "count": 2
          },
          {
            "date": "2023-02-27",
            "count": 2
          },
          {
            "date": "2023-02-28",
            "count": 1
          },
          {
            "date": "2023-03-04",
            "count": 1
          },
          {
            "date": "2023-03-06",
            "count": 1
          },
          {
            "date": "2023-03-07",
            "count": 3
          },
          {
            "date": "2023-03-13",
            "count": 2
          },
          {
            "date": "2023-03-16",
            "count": 2
          },
          {
            "date": "2023-03-20",
            "count": 1
          },
          {
            "date": "2023-03-21",
            "count": 1
          },
          {
            "date": "2023-03-24",
            "count": 1
          },
          {
            "date": "2023-03-25",
            "count": 4
          },
          {
            "date": "2023-03-27",
            "count": 1
          },
          {
            "date": "2023-03-29",
            "count": 1
          },
          {
            "date": "2023-04-05",
            "count": 1
          },
          {
            "date": "2023-04-08",
            "count": 1
          },
          {
            "date": "2023-04-10",
            "count": 3
          },
          {
            "date": "2023-04-12",
            "count": 2
          },
          {
            "date": "2023-04-19",
            "count": 1
          },
          {
            "date": "2023-04-20",
            "count": 1
          },
          {
            "date": "2023-04-23",
            "count": 1
          },
          {
            "date": "2023-04-26",
            "count": 1
          },
          {
            "date": "2023-05-02",
            "count": 1
          },
          {
            "date": "2023-05-03",
            "count": 1
          },
          {
            "date": "2023-05-09",
            "count": 1
          },
          {
            "date": "2023-05-15",
            "count": 1
          },
          {
            "date": "2023-05-16",
            "count": 1
          },
          {
            "date": "2023-05-18",
            "count": 1
          },
          {
            "date": "2023-06-02",
            "count": 1
          },
          {
            "date": "2023-06-15",
            "count": 1
          },
          {
            "date": "2023-06-16",
            "count": 2
          },
          {
            "date": "2023-06-21",
            "count": 1
          },
          {
            "date": "2023-06-24",
            "count": 1
          },
          {
            "date": "2023-06-29",
            "count": 1
          },
          {
            "date": "2023-07-03",
            "count": 1
          },
          {
            "date": "2023-07-05",
            "count": 1
          },
          {
            "date": "2023-07-08",
            "count": 1
          },
          {
            "date": "2023-07-10",
            "count": 2
          },
          {
            "date": "2023-07-12",
            "count": 1
          },
          {
            "date": "2023-07-13",
            "count": 2
          },
          {
            "date": "2023-07-17",
            "count": 2
          },
          {
            "date": "2023-07-19",
            "count": 1
          },
          {
            "date": "2023-07-20",
            "count": 2
          },
          {
            "date": "2023-07-23",
            "count": 1
          },
          {
            "date": "2023-07-24",
            "count": 1
          },
          {
            "date": "2023-07-25",
            "count": 1
          },
          {
            "date": "2023-07-26",
            "count": 1
          },
          {
            "date": "2023-08-05",
            "count": 2
          },
          {
            "date": "2023-08-07",
            "count": 1
          },
          {
            "date": "2023-08-08",
            "count": 1
          },
          {
            "date": "2023-08-09",
            "count": 5
          },
          {
            "date": "2023-08-10",
            "count": 1
          },
          {
            "date": "2023-08-13",
            "count": 1
          },
          {
            "date": "2023-08-16",
            "count": 1
          },
          {
            "date": "2023-08-17",
            "count": 1
          },
          {
            "date": "2023-08-18",
            "count": 2
          },
          {
            "date": "2023-08-21",
            "count": 1
          },
          {
            "date": "2023-08-22",
            "count": 1
          },
          {
            "date": "2023-08-23",
            "count": 2
          },
          {
            "date": "2023-08-24",
            "count": 1
          },
          {
            "date": "2023-09-03",
            "count": 1
          },
          {
            "date": "2023-09-12",
            "count": 1
          },
          {
            "date": "2023-09-14",
            "count": 1
          },
          {
            "date": "2023-09-23",
            "count": 1
          },
          {
            "date": "2023-09-26",
            "count": 1
          },
          {
            "date": "2023-09-27",
            "count": 1
          },
          {
            "date": "2023-10-02",
            "count": 1
          },
          {
            "date": "2023-10-07",
            "count": 1
          },
          {
            "date": "2023-10-13",
            "count": 1
          },
          {
            "date": "2023-10-17",
            "count": 2
          },
          {
            "date": "2023-10-18",
            "count": 2
          },
          {
            "date": "2023-10-20",
            "count": 1
          },
          {
            "date": "2023-10-22",
            "count": 1
          },
          {
            "date": "2023-10-24",
            "count": 1
          },
          {
            "date": "2023-11-01",
            "count": 1
          },
          {
            "date": "2023-11-08",
            "count": 1
          },
          {
            "date": "2023-11-09",
            "count": 1
          },
          {
            "date": "2023-11-16",
            "count": 1
          },
          {
            "date": "2023-11-22",
            "count": 1
          },
          {
            "date": "2023-12-01",
            "count": 1
          },
          {
            "date": "2023-12-08",
            "count": 1
          },
          {
            "date": "2023-12-21",
            "count": 1
          },
          {
            "date": "2023-12-26",
            "count": 1
          },
          {
            "date": "2023-12-27",
            "count": 1
          },
          {
            "date": "2023-12-28",
            "count": 1
          },
          {
            "date": "2024-01-07",
            "count": 1
          },
          {
            "date": "2024-01-08",
            "count": 2
          },
          {
            "date": "2024-01-13",
            "count": 1
          },
          {
            "date": "2024-01-17",
            "count": 1
          },
          {
            "date": "2024-01-19",
            "count": 3
          },
          {
            "date": "2024-01-26",
            "count": 1
          },
          {
            "date": "2024-01-30",
            "count": 1
          },
          {
            "date": "2024-02-01",
            "count": 1
          },
          {
            "date": "2024-02-14",
            "count": 1
          },
          {
            "date": "2024-02-20",
            "count": 1
          },
          {
            "date": "2024-02-23",
            "count": 1
          },
          {
            "date": "2024-03-04",
            "count": 1
          },
          {
            "date": "2024-03-06",
            "count": 1
          },
          {
            "date": "2024-03-08",
            "count": 1
          },
          {
            "date": "2024-03-11",
            "count": 1
          },
          {
            "date": "2024-03-13",
            "count": 1
          },
          {
            "date": "2024-03-16",
            "count": 1
          },
          {
            "date": "2024-03-19",
            "count": 1
          },
          {
            "date": "2024-03-22",
            "count": 1
          },
          {
            "date": "2024-03-24",
            "count": 1
          },
          {
            "date": "2024-03-27",
            "count": 1
          },
          {
            "date": "2024-03-31",
            "count": 1
          },
          {
            "date": "2024-04-08",
            "count": 1
          },
          {
            "date": "2024-04-12",
            "count": 1
          },
          {
            "date": "2024-04-19",
            "count": 4
          },
          {
            "date": "2024-04-25",
            "count": 1
          },
          {
            "date": "2024-04-26",
            "count": 1
          },
          {
            "date": "2024-05-12",
            "count": 1
          },
          {
            "date": "2024-05-13",
            "count": 1
          },
          {
            "date": "2024-05-17",
            "count": 1
          },
          {
            "date": "2024-05-25",
            "count": 1
          },
          {
            "date": "2024-06-21",
            "count": 1
          },
          {
            "date": "2024-06-25",
            "count": 1
          },
          {
            "date": "2024-07-03",
            "count": 1
          },
          {
            "date": "2024-07-07",
            "count": 1
          },
          {
            "date": "2024-07-11",
            "count": 1
          },
          {
            "date": "2024-07-28",
            "count": 1
          },
          {
            "date": "2024-08-01",
            "count": 1
          },
          {
            "date": "2024-08-30",
            "count": 1
          },
          {
            "date": "2024-09-03",
            "count": 1
          },
          {
            "date": "2024-09-04",
            "count": 1
          },
          {
            "date": "2024-09-08",
            "count": 1
          },
          {
            "date": "2024-09-17",
            "count": 1
          },
          {
            "date": "2024-09-19",
            "count": 1
          },
          {
            "date": "2024-09-30",
            "count": 2
          },
          {
            "date": "2024-10-01",
            "count": 1
          },
          {
            "date": "2024-10-02",
            "count": 1
          },
          {
            "date": "2024-10-08",
            "count": 1
          },
          {
            "date": "2024-10-15",
            "count": 1
          },
          {
            "date": "2024-10-18",
            "count": 1
          },
          {
            "date": "2024-10-24",
            "count": 1
          },
          {
            "date": "2024-10-31",
            "count": 1
          },
          {
            "date": "2024-11-02",
            "count": 1
          },
          {
            "date": "2024-11-11",
            "count": 1
          },
          {
            "date": "2024-11-14",
            "count": 1
          },
          {
            "date": "2024-11-15",
            "count": 1
          },
          {
            "date": "2024-11-20",
            "count": 1
          },
          {
            "date": "2024-11-21",
            "count": 1
          },
          {
            "date": "2024-11-22",
            "count": 1
          },
          {
            "date": "2024-11-27",
            "count": 1
          },
          {
            "date": "2024-12-03",
            "count": 1
          },
          {
            "date": "2024-12-05",
            "count": 1
          },
          {
            "date": "2024-12-09",
            "count": 1
          },
          {
            "date": "2024-12-20",
            "count": 1
          },
          {
            "date": "2024-12-23",
            "count": 2
          },
          {
            "date": "2025-01-06",
            "count": 1
          },
          {
            "date": "2025-01-15",
            "count": 1
          },
          {
            "date": "2025-01-16",
            "count": 1
          },
          {
            "date": "2025-02-08",
            "count": 1
          },
          {
            "date": "2025-02-13",
            "count": 1
          },
          {
            "date": "2025-02-17",
            "count": 1
          },
          {
            "date": "2025-02-27",
            "count": 1
          },
          {
            "date": "2025-02-28",
            "count": 1
          },
          {
            "date": "2025-03-04",
            "count": 1
          },
          {
            "date": "2025-03-13",
            "count": 1
          },
          {
            "date": "2025-03-14",
            "count": 1
          },
          {
            "date": "2025-03-15",
            "count": 1
          },
          {
            "date": "2025-03-16",
            "count": 1
          },
          {
            "date": "2025-03-17",
            "count": 1
          },
          {
            "date": "2025-03-23",
            "count": 1
          },
          {
            "date": "2025-03-24",
            "count": 1
          },
          {
            "date": "2025-03-27",
            "count": 1
          },
          {
            "date": "2025-03-29",
            "count": 1
          },
          {
            "date": "2025-04-01",
            "count": 1
          },
          {
            "date": "2025-04-06",
            "count": 1
          },
          {
            "date": "2025-04-16",
            "count": 1
          },
          {
            "date": "2025-05-14",
            "count": 1
          },
          {
            "date": "2025-05-17",
            "count": 1
          },
          {
            "date": "2025-06-03",
            "count": 1
          },
          {
            "date": "2025-06-17",
            "count": 1
          },
          {
            "date": "2025-07-12",
            "count": 1
          },
          {
            "date": "2025-07-17",
            "count": 1
          },
          {
            "date": "2025-07-24",
            "count": 1
          },
          {
            "date": "2025-08-05",
            "count": 1
          },
          {
            "date": "2025-08-13",
            "count": 1
          },
          {
            "date": "2025-08-14",
            "count": 2
          },
          {
            "date": "2025-08-25",
            "count": 1
          },
          {
            "date": "2025-08-29",
            "count": 1
          },
          {
            "date": "2025-09-17",
            "count": 1
          },
          {
            "date": "2025-09-20",
            "count": 1
          },
          {
            "date": "2025-11-24",
            "count": 1
          },
          {
            "date": "2025-11-25",
            "count": 2
          },
          {
            "date": "2025-12-06",
            "count": 1
          },
          {
            "date": "2025-12-17",
            "count": 1
          },
          {
            "date": "2025-12-22",
            "count": 1
          },
          {
            "date": "2026-01-05",
            "count": 2
          },
          {
            "date": "2026-01-07",
            "count": 1
          },
          {
            "date": "2026-01-10",
            "count": 1
          },
          {
            "date": "2026-01-12",
            "count": 1
          },
          {
            "date": "2026-01-14",
            "count": 1
          },
          {
            "date": "2026-01-20",
            "count": 2
          },
          {
            "date": "2026-02-08",
            "count": 1
          },
          {
            "date": "2026-02-09",
            "count": 1
          },
          {
            "date": "2026-02-17",
            "count": 2
          },
          {
            "date": "2026-03-07",
            "count": 1
          },
          {
            "date": "2026-03-29",
            "count": 1
          },
          {
            "date": "2026-03-31",
            "count": 1
          },
          {
            "date": "2026-04-10",
            "count": 1
          },
          {
            "date": "2026-04-23",
            "count": 1
          },
          {
            "date": "2026-05-03",
            "count": 1
          },
          {
            "date": "2026-05-09",
            "count": 1
          },
          {
            "date": "2026-06-30",
            "count": 1
          },
          {
            "date": "2026-07-08",
            "count": 1
          },
          {
            "date": "2026-07-13",
            "count": 1
          }
        ],
        "complete": true,
        "collected": 450,
        "total_stars": 451
      },
      "open_issues_and_prs": 326
    },
    "ai_readiness": {
      "has_nix": false,
      "example_dirs": [
        "examples",
        "samples"
      ],
      "has_llms_txt": false,
      "has_dockerfile": true,
      "has_mcp_signal": false,
      "bootstrap_files": [
        "deploy/kubernetes/operator/Makefile"
      ],
      "api_schema_files": [
        "proto/src/main/proto/Rss.proto"
      ],
      "has_devcontainer": false,
      "typecheck_configs": [
        "dashboard/src/main/webapp/jsconfig.json"
      ],
      "toolchain_manifests": [
        "cli/pom.xml",
        "client-mr/core/pom.xml",
        "client-mr/hadoop2.8/pom.xml",
        "client-mr/hadoop3.2/pom.xml",
        "client-spark/common/pom.xml",
        "client-spark/extension/pom.xml",
        "client-spark/spark2-shaded/pom.xml",
        "client-spark/spark2/pom.xml",
        "client-spark/spark3-shaded/pom.xml",
        "client-spark/spark3/pom.xml",
        "client-spark/spark4-shaded/pom.xml",
        "client-spark/spark4/pom.xml",
        "client-tez/pom.xml",
        "client/pom.xml",
        "common/pom.xml",
        "coordinator/pom.xml",
        "dashboard/pom.xml",
        "deploy/kubernetes/operator/go.mod",
        "deploy/kubernetes/pom.xml",
        "integration-test/common/pom.xml",
        "integration-test/mr/pom.xml",
        "integration-test/spark-common/pom.xml",
        "integration-test/spark2/pom.xml",
        "integration-test/spark3/pom.xml",
        "integration-test/spark4/pom.xml",
        "integration-test/tez/pom.xml",
        "internal-client/pom.xml",
        "pom.xml",
        "proto/pom.xml",
        "server-common/pom.xml",
        "server/pom.xml",
        "storage/pom.xml",
        "tools/client-simulation-yarn/pom.xml"
      ],
      "largest_source_bytes": 75572,
      "source_files_sampled": 1117,
      "oversized_source_files": 3,
      "agent_instruction_files": [],
      "agent_instruction_max_bytes": null
    },
    "dependencies": {
      "manifests": [
        "cli/pom.xml",
        "client-tez/pom.xml",
        "client/pom.xml",
        "common/pom.xml",
        "coordinator/pom.xml",
        "dashboard/pom.xml",
        "internal-client/pom.xml",
        "pom.xml",
        "proto/pom.xml",
        "server-common/pom.xml",
        "server/pom.xml",
        "storage/pom.xml"
      ],
      "advisories": {
        "error": null,
        "scope": "repository_graph",
        "source": "osv",
        "findings": [
          {
            "name": "org.apache.hadoop:hadoop-common",
            "direct": true,
            "version": "2.8.5",
            "severity": "critical",
            "ecosystem": "maven",
            "cvss_score": 9.8,
            "advisory_ids": [
              "GHSA-8wm5-8h9c-47pc",
              "GHSA-f5fw-25gw-5m92",
              "GHSA-f8vc-wfc8-hxqh",
              "GHSA-gx2c-fvhc-ph4j",
              "GHSA-rmpj-7c96-mrg8"
            ],
            "fixed_version": "3.4.0",
            "advisory_count": 5,
            "oldest_advisory_days": 1622
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-core",
            "direct": true,
            "version": "2.10.0",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-72hv-8253-57qq",
              "GHSA-h46c-h94j-95f3",
              "GHSA-wf8f-6423-gfxg"
            ],
            "fixed_version": "3.1.0",
            "advisory_count": 3,
            "oldest_advisory_days": 409
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": "2.10.0",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 8.1,
            "advisory_ids": [
              "GHSA-288c-cq4h-88gq",
              "GHSA-3wrr-7qpf-2prh",
              "GHSA-3x8x-79m2-3w2w",
              "GHSA-57j2-w4cx-62h2",
              "GHSA-5jmj-h7xm-6q6v",
              "GHSA-hgj6-7826-r7m5",
              "GHSA-j3rv-43j4-c7qm",
              "GHSA-jjjh-jjxp-wpff",
              "GHSA-rgv9-q543-rqg4",
              "GHSA-rmj7-2vxq-3g9f"
            ],
            "fixed_version": "3.1.4",
            "advisory_count": 10,
            "oldest_advisory_days": 1978
          },
          {
            "name": "com.google.protobuf:protobuf-java",
            "direct": true,
            "version": "3.25.1",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-735f-pc8j-v9w8"
            ],
            "fixed_version": "4.28.2",
            "advisory_count": 1,
            "oldest_advisory_days": 670
          },
          {
            "name": "io.grpc:grpc-netty-shaded",
            "direct": true,
            "version": "1.64.0",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-prj3-ccx8-p6x4"
            ],
            "fixed_version": "4.2.4.Final",
            "advisory_count": 1,
            "oldest_advisory_days": 342
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-server-common",
            "direct": true,
            "version": "2.8.5",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 8.8,
            "advisory_ids": [
              "GHSA-58jx-f5rf-qgqf"
            ],
            "fixed_version": "3.3.2",
            "advisory_count": 1,
            "oldest_advisory_days": 1496
          },
          {
            "name": "org.eclipse.jetty:jetty-server",
            "direct": true,
            "version": "9.3.24.v20180605",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-26vr-8j45-3r4w",
              "GHSA-7vx9-xjhr-rw6h",
              "GHSA-g8m5-722r-8whq",
              "GHSA-h2f4-v4c4-6wx4",
              "GHSA-m6cp-vxjx-65j6",
              "GHSA-p26g-97m4-6q7c",
              "GHSA-qw69-rqj8-6qw8",
              "GHSA-r28m-g6j9-r2h5",
              "GHSA-xc67-hjx6-cgg6"
            ],
            "fixed_version": "12.0.9",
            "advisory_count": 9,
            "oldest_advisory_days": 2672
          },
          {
            "name": "org.lz4:lz4-java",
            "direct": true,
            "version": "1.8.1",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-cmp6-m4wj-q63q"
            ],
            "fixed_version": "1.10.1",
            "advisory_count": 1,
            "oldest_advisory_days": 228
          },
          {
            "name": "org.xerial.snappy:snappy-java",
            "direct": true,
            "version": "1.1.8.4",
            "severity": "high",
            "ecosystem": "maven",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-55g7-9cwv-5qfv",
              "GHSA-fjpj-2g6w-x25r",
              "GHSA-pqr6-cmr2-h8hf",
              "GHSA-qcwq-55hx-v3vh"
            ],
            "fixed_version": "1.1.10.4",
            "advisory_count": 4,
            "oldest_advisory_days": 1132
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "0.7.0",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-2wrh-6pvc-2jm9",
              "GHSA-4374-p667-p6c8",
              "GHSA-4v7x-pqxf-cx7m",
              "GHSA-5cv4-jp36-h3mw",
              "GHSA-qppj-fm5r-hxr3",
              "GHSA-qxp5-gwg8-xv66",
              "GHSA-vvgc-356p-c3xw",
              "GO-2023-1988",
              "GO-2023-2102",
              "GO-2024-2687"
            ],
            "fixed_version": "12.0.2",
            "advisory_count": 23,
            "oldest_advisory_days": 1084
          },
          {
            "name": "golang.org/x/oauth2",
            "direct": false,
            "version": "0.0.0-20211104180415-d3ed0bb246c8",
            "severity": "high",
            "ecosystem": "go",
            "cvss_score": 7.5,
            "advisory_ids": [
              "GHSA-6v2p-p543-phr9",
              "GO-2025-3488"
            ],
            "fixed_version": "0.27.0",
            "advisory_count": 2,
            "oldest_advisory_days": 510
          },
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": "21.0",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-5mg8-w23w-74h3",
              "GHSA-7g45-4rm6-3mm3",
              "GHSA-mvr2-9pj6-7w5j"
            ],
            "fixed_version": "32.0.0-android",
            "advisory_count": 3,
            "oldest_advisory_days": 2226
          },
          {
            "name": "org.apache.commons:commons-lang3",
            "direct": true,
            "version": "3.10",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 6.5,
            "advisory_ids": [
              "GHSA-j288-q9x7-2f5v"
            ],
            "fixed_version": "3.18.0",
            "advisory_count": 1,
            "oldest_advisory_days": 375
          },
          {
            "name": "org.apache.httpcomponents:httpclient",
            "direct": true,
            "version": "4.5.3",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.3,
            "advisory_ids": [
              "GHSA-7r82-7xv7-xcpj"
            ],
            "fixed_version": "5.0.3",
            "advisory_count": 1,
            "oldest_advisory_days": 1873
          },
          {
            "name": "junit:junit",
            "direct": false,
            "version": "4.11",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 4.4,
            "advisory_ids": [
              "GHSA-269g-pwp5-87pp"
            ],
            "fixed_version": "4.13.1",
            "advisory_count": 1,
            "oldest_advisory_days": 2108
          },
          {
            "name": "org.bouncycastle:bcprov-jdk15on",
            "direct": false,
            "version": "1.60",
            "severity": "moderate",
            "ecosystem": "maven",
            "cvss_score": 5.9,
            "advisory_ids": [
              "GHSA-6xx3-rg99-gc3p",
              "GHSA-72m5-fvvv-55m6",
              "GHSA-8xfc-gm6g-vgpv",
              "GHSA-hr8g-6v94-x4m9",
              "GHSA-v435-xc8x-wvr9",
              "GHSA-wjxj-5m7g-mg7q"
            ],
            "fixed_version": "2.3.1",
            "advisory_count": 6,
            "oldest_advisory_days": 1916
          },
          {
            "name": "org.apache.logging.log4j:log4j-core",
            "direct": true,
            "version": "2.23.0",
            "severity": "low",
            "ecosystem": "maven",
            "cvss_score": 3.7,
            "advisory_ids": [
              "GHSA-3pxv-7cmr-fjr4",
              "GHSA-445c-vh5m-36rj",
              "GHSA-6hg6-v5c8-fphq",
              "GHSA-vc5p-v9hr-52mj"
            ],
            "fixed_version": "2.25.4",
            "advisory_count": 4,
            "oldest_advisory_days": 214
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "0.5.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5024"
            ],
            "fixed_version": "0.44.0",
            "advisory_count": 1,
            "oldest_advisory_days": 60
          },
          {
            "name": "golang.org/x/text",
            "direct": false,
            "version": "0.7.0",
            "severity": "unknown",
            "ecosystem": "go",
            "cvss_score": null,
            "advisory_ids": [
              "GO-2026-5970"
            ],
            "fixed_version": "0.39.0",
            "advisory_count": 1,
            "oldest_advisory_days": 7
          }
        ],
        "collected": true,
        "truncated": false,
        "by_severity": {
          "low": 1,
          "high": 10,
          "unknown": 2,
          "critical": 1,
          "moderate": 5
        },
        "advisory_count": 78,
        "affected_count": 19,
        "assessed_count": 190,
        "assessed_package": null,
        "unassessed_count": 125,
        "direct_affected_count": 13
      },
      "ecosystems": [
        "maven"
      ],
      "dependencies": [
        {
          "name": "org.apache.uniffle:rss-common",
          "manifest": "cli/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "commons-cli:commons-cli",
          "manifest": "cli/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-internal-client",
          "manifest": "cli/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.httpcomponents:httpclient",
          "manifest": "cli/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.tez:tez-common",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-runtime-library",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-runtime-internals",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-dag",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-api",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.lz4:lz4-java",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
          "manifest": "client-tez/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.uniffle:shuffle-storage",
          "manifest": "client/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "client/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "client/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-proto",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "info.picocli:picocli",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.prometheus:simpleclient",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.prometheus:simpleclient_hotspot",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.prometheus:simpleclient_httpserver",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.prometheus:simpleclient_jetty",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.prometheus:simpleclient_servlet",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.prometheus:simpleclient_pushgateway",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-databind",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.roaringbitmap:RoaringBitmap",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.lz4:lz4-java",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-collections4",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minikdc",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.eclipse.jetty:jetty-servlet",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.eclipse.jetty:jetty-server",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.eclipse.jetty:jetty-util",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.eclipse.jetty:jetty-proxy",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hbase.thirdparty:hbase-shaded-jersey",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.esotericsoftware:kryo-shaded",
          "manifest": "common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-server-common",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-internal-client",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.protobuf:protobuf-java-util",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-protobuf",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-stub",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-collections4",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.mockito:mockito-inline",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.yaml:snakeyaml",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.projectlombok:lombok",
          "manifest": "coordinator/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-server-common",
          "manifest": "dashboard/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.projectlombok:lombok",
          "manifest": "dashboard/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-common",
          "manifest": "internal-client/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "internal-client/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "javax.activation:activation",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.1.1"
        },
        {
          "name": "com.google.errorprone:error_prone_annotations",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.github.spotbugs:spotbugs-annotations",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.slf4j:slf4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.logging.log4j:log4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.logging.log4j:log4j-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.protobuf:protobuf-java-util",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${grpc.version}"
        },
        {
          "name": "io.grpc:grpc-protobuf",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${grpc.version}"
        },
        {
          "name": "io.grpc:grpc-stub",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${grpc.version}"
        },
        {
          "name": "com.google.code.gson:gson",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${gson.version}"
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${netty.version}"
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${guava.version}"
        },
        {
          "name": "io.dropwizard.metrics:metrics-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${metrics.version}"
        },
        {
          "name": "javax.annotation:javax.annotation-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${javax.annotation.version}"
        },
        {
          "name": "org.apache.uniffle:rss-proto",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-internal-client",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-server-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:shuffle-server",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:cli",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:coordinator",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:shuffle-storage",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "commons-logging:commons-logging",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commons-logging.version}"
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commons-lang3.version}"
        },
        {
          "name": "org.apache.commons:commons-collections4",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commons-collections4.version}"
        },
        {
          "name": "commons-codec:commons-codec",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${commons-codec.version}"
        },
        {
          "name": "org.apache.uniffle:shuffle-storage",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:client-mr",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-client",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.httpcomponents:httpclient",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${httpclient.version}"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${fasterxml.jackson.version}"
        },
        {
          "name": "com.fasterxml.jackson.core:jackson-databind",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${fasterxml.jackson.version}"
        },
        {
          "name": "com.google.errorprone:error_prone_annotations",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${error_prone_annotations.version}"
        },
        {
          "name": "io.prometheus:simpleclient",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${prometheus.simpleclient.version}"
        },
        {
          "name": "io.prometheus:simpleclient_hotspot",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${prometheus.simpleclient.version}"
        },
        {
          "name": "io.prometheus:simpleclient_httpserver",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${prometheus.simpleclient.version}"
        },
        {
          "name": "io.prometheus:simpleclient_jetty",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${prometheus.simpleclient.version}"
        },
        {
          "name": "io.prometheus:simpleclient_servlet",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${prometheus.simpleclient.version}"
        },
        {
          "name": "io.prometheus:simpleclient_pushgateway",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${prometheus.simpleclient.version}"
        },
        {
          "name": "org.roaringbitmap:RoaringBitmap",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${roaring.bitmap.version}"
        },
        {
          "name": "info.picocli:picocli",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${picocli.version}"
        },
        {
          "name": "org.lz4:lz4-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.8.1"
        },
        {
          "name": "org.mockito:mockito-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${mockito.version}"
        },
        {
          "name": "com.github.luben:zstd-jni",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${zstd-jni.version}"
        },
        {
          "name": "org.xerial.snappy:snappy-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${snappy-java.version}"
        },
        {
          "name": "commons-cli:commons-cli",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "1.5.0"
        },
        {
          "name": "org.eclipse.jetty:jetty-servlet",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jetty.version}"
        },
        {
          "name": "org.eclipse.jetty:jetty-proxy",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jetty.version}"
        },
        {
          "name": "org.eclipse.jetty:jetty-server",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jetty.version}"
        },
        {
          "name": "org.eclipse.jetty:jetty-util",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${jetty.version}"
        },
        {
          "name": "org.apache.hbase.thirdparty:hbase-shaded-jersey",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hbase.thirdparty.version}"
        },
        {
          "name": "org.yaml:snakeyaml",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${snakeyaml.version}"
        },
        {
          "name": "org.slf4j:slf4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${slf4j.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${log4j.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${log4j.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${log4j.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${log4j.version}"
        },
        {
          "name": "com.esotericsoftware:kryo-shaded",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${kryo.version}"
        },
        {
          "name": "com.puppycrawl.tools:checkstyle",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${checkstyle.version}"
        },
        {
          "name": "com.github.spotbugs:spotbugs",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spotbugs.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark2",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-integration-common-test",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${netty.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark2",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-integration-common-test",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark4",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark4",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.spark:spark-core_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.spark:spark-sql_${scala.binary.version}",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${spark.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:hadoop${hadoop.short.version}-shim",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.tez:tez-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-runtime-library",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-runtime-internals",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-dag",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.tez:tez-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${tez.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-yarn-api",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-yarn-server-common",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.apache.resources:apache-source-release-assembly-descriptor",
          "manifest": "pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${version.apache-resource-bundles}"
        },
        {
          "name": "com.google.protobuf:protobuf-java-util",
          "manifest": "proto/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "proto/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-protobuf",
          "manifest": "proto/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-stub",
          "manifest": "proto/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "javax.annotation:javax.annotation-api",
          "manifest": "proto/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-common",
          "manifest": "server-common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:shuffle-storage",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-server-common",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.protobuf:protobuf-java-util",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-protobuf",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-stub",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-testing",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.github.stefanbirkner:system-rules",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.mockito:mockito-inline",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-collections4",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${netty.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-minikdc",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.projectlombok:lombok",
          "manifest": "server/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-internal-client",
          "manifest": "storage/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-client",
          "manifest": "storage/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "storage/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.mockito:mockito-inline",
          "manifest": "storage/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minikdc",
          "manifest": "storage/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-app",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.lz4:lz4-java",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${guava.version}"
        },
        {
          "name": "io.grpc:grpc-netty-shaded",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "io.grpc:grpc-protobuf",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "com.github.luben:zstd-jni",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:hadoop${hadoop.short.version}-shim",
          "manifest": "client-mr/core/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "client-mr/hadoop2.8/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
          "manifest": "client-mr/hadoop2.8/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-app",
          "manifest": "client-mr/hadoop2.8/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "client-mr/hadoop3.2/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
          "manifest": "client-mr/hadoop3.2/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-app",
          "manifest": "client-mr/hadoop3.2/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "com.google.guava:guava",
          "manifest": "client-spark/common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-common",
          "manifest": "client-spark/common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "client-spark/common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.lz4:lz4-java",
          "manifest": "client-spark/common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "client-spark/extension/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark2",
          "manifest": "client-spark/spark2-shaded/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "client-spark/spark2/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "client-spark/spark2/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "client-spark/spark2/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3",
          "manifest": "client-spark/spark3-shaded/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "client-spark/spark3/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "client-spark/spark3/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "client-spark/spark3/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "client-spark/spark3/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "client-spark/spark3/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark4",
          "manifest": "client-spark/spark4-shaded/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "com.google.protobuf:protobuf-java",
          "manifest": "client-spark/spark4/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client",
          "manifest": "client-spark/spark4/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-common",
          "manifest": "client-spark/spark4/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "org.apache.uniffle:rss-client-spark-ui",
          "manifest": "client-spark/spark4/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${project.version}"
        },
        {
          "name": "io.netty:netty-all",
          "manifest": "client-spark/spark4/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "integration-test/common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minikdc",
          "manifest": "integration-test/common/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "com.google.protobuf:protobuf-java-util",
          "manifest": "integration-test/mr/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${protobuf.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-mapreduce-client-app",
          "manifest": "integration-test/mr/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.hadoop:hadoop-common",
          "manifest": "integration-test/mr/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${hadoop.version}"
        },
        {
          "name": "org.apache.commons:commons-lang3",
          "manifest": "integration-test/mr/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "integration-test/spark3/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.hadoop:hadoop-minicluster",
          "manifest": "integration-test/spark4/pom.xml",
          "ecosystem": "maven",
          "version_constraint": null
        },
        {
          "name": "org.apache.uniffle:rss-client-spark3-shaded",
          "manifest": "tools/client-simulation-yarn/pom.xml",
          "ecosystem": "maven",
          "version_constraint": "${uniffle.version}"
        }
      ],
      "all_dependencies": {
        "error": null,
        "source": "github-sbom",
        "packages": [
          {
            "name": "com.esotericsoftware:kryo-shaded",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.esotericsoftware:kryo-shaded",
            "direct": true,
            "version": "4.0.2",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-core",
            "direct": true,
            "version": "2.10.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-databind",
            "direct": true,
            "version": "2.10.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.luben:zstd-jni",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.github.luben:zstd-jni",
            "direct": true,
            "version": "1.5.2-3",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.spotbugs:spotbugs",
            "direct": true,
            "version": "4.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.spotbugs:spotbugs-annotations",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.github.spotbugs:spotbugs-annotations",
            "direct": true,
            "version": "4.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.stefanbirkner:system-rules",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.github.stefanbirkner:system-rules",
            "direct": true,
            "version": "1.19.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.code.gson:gson",
            "direct": true,
            "version": "2.10.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.errorprone:error_prone_annotations",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.google.errorprone:error_prone_annotations",
            "direct": true,
            "version": "2.23.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": "21.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.guava:guava",
            "direct": true,
            "version": "32.1.3-jre",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java",
            "direct": true,
            "version": "3.25.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java-util",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.google.protobuf:protobuf-java-util",
            "direct": true,
            "version": "3.25.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.puppycrawl.tools:checkstyle",
            "direct": true,
            "version": "9.3",
            "ecosystem": "maven"
          },
          {
            "name": "commons-cli:commons-cli",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "commons-cli:commons-cli",
            "direct": true,
            "version": "1.5.0",
            "ecosystem": "maven"
          },
          {
            "name": "commons-codec:commons-codec",
            "direct": true,
            "version": "1.9",
            "ecosystem": "maven"
          },
          {
            "name": "commons-logging:commons-logging",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "commons-logging:commons-logging",
            "direct": true,
            "version": "1.2",
            "ecosystem": "maven"
          },
          {
            "name": "info.picocli:picocli",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "info.picocli:picocli",
            "direct": true,
            "version": "4.5.2",
            "ecosystem": "maven"
          },
          {
            "name": "io.dropwizard.metrics:metrics-core",
            "direct": true,
            "version": "3.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-netty-shaded",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-netty-shaded",
            "direct": true,
            "version": "1.64.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-protobuf",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-protobuf",
            "direct": true,
            "version": "1.64.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-stub",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-stub",
            "direct": true,
            "version": "1.64.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-testing",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.grpc:grpc-testing",
            "direct": true,
            "version": "1.64.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.netty:netty-all",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.netty:netty-all",
            "direct": true,
            "version": "4.1.109",
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_hotspot",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_hotspot",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_httpserver",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_httpserver",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_jetty",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_jetty",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_pushgateway",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_pushgateway",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_servlet",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "io.prometheus:simpleclient_servlet",
            "direct": true,
            "version": "0.9.0",
            "ecosystem": "maven"
          },
          {
            "name": "javax.activation:activation",
            "direct": true,
            "version": "1.1.1",
            "ecosystem": "maven"
          },
          {
            "name": "javax.annotation:javax.annotation-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "javax.annotation:javax.annotation-api",
            "direct": true,
            "version": "1.3.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.apache.resources:apache-source-release-assembly-descriptor",
            "direct": true,
            "version": "1.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-collections4",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-collections4",
            "direct": true,
            "version": "4.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-lang3",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.commons:commons-lang3",
            "direct": true,
            "version": "3.10",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-client",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-client",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-common",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-client-app",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-client-core",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-minicluster",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-minicluster",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-minikdc",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-minikdc",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-api",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-server-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-server-common",
            "direct": true,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hbase.thirdparty:hbase-shaded-jersey",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hbase.thirdparty:hbase-shaded-jersey",
            "direct": true,
            "version": "4.1.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.httpcomponents:httpclient",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.httpcomponents:httpclient",
            "direct": true,
            "version": "4.5.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-api",
            "direct": true,
            "version": "2.23.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-core",
            "direct": true,
            "version": "2.23.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-slf4j-impl",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-slf4j-impl",
            "direct": true,
            "version": "2.23.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.logging.log4j:log4j-slf4j2-impl",
            "direct": true,
            "version": "2.23.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.tez:tez-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.tez:tez-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.tez:tez-dag",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.tez:tez-runtime-internals",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.tez:tez-runtime-library",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:cli",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:cli",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:client-mr",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:coordinator",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:coordinator",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-spark-common",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-spark-ui",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-spark2",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-spark3",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-spark3-shaded",
            "direct": true,
            "version": "0.9.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-spark4",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-common",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-integration-common-test",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-internal-client",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-internal-client",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-proto",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-proto",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-server-common",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-server-common",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:shuffle-server",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:shuffle-server",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:shuffle-storage",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:shuffle-storage",
            "direct": true,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-proxy",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-proxy",
            "direct": true,
            "version": "9.3.24.v20180605",
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-server",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-server",
            "direct": true,
            "version": "9.3.24.v20180605",
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-servlet",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-servlet",
            "direct": true,
            "version": "9.3.24.v20180605",
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-util",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.eclipse.jetty:jetty-util",
            "direct": true,
            "version": "9.3.24.v20180605",
            "ecosystem": "maven"
          },
          {
            "name": "org.lz4:lz4-java",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.lz4:lz4-java",
            "direct": true,
            "version": "1.8.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-core",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-core",
            "direct": true,
            "version": "3.12.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-inline",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.mockito:mockito-inline",
            "direct": true,
            "version": "3.12.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.projectlombok:lombok",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.projectlombok:lombok",
            "direct": true,
            "version": "1.18.34",
            "ecosystem": "maven"
          },
          {
            "name": "org.roaringbitmap:RoaringBitmap",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.roaringbitmap:RoaringBitmap",
            "direct": true,
            "version": "0.9.15",
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.slf4j:slf4j-api",
            "direct": true,
            "version": "1.7.36",
            "ecosystem": "maven"
          },
          {
            "name": "org.xerial.snappy:snappy-java",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.xerial.snappy:snappy-java",
            "direct": true,
            "version": "1.1.8.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.yaml:snakeyaml",
            "direct": true,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.yaml:snakeyaml",
            "direct": true,
            "version": "2.2",
            "ecosystem": "maven"
          },
          {
            "name": "github.com/beorn7/perks",
            "direct": false,
            "version": "1.0.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/cespare/xxhash/v2",
            "direct": false,
            "version": "2.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/davecgh/go-spew",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/emicklei/go-restful",
            "direct": false,
            "version": "2.16.0+incompatible",
            "ecosystem": "go"
          },
          {
            "name": "github.com/evanphx/json-patch",
            "direct": false,
            "version": "4.12.0+incompatible",
            "ecosystem": "go"
          },
          {
            "name": "github.com/fsnotify/fsnotify",
            "direct": false,
            "version": "1.5.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/logr",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-logr/zapr",
            "direct": false,
            "version": "1.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/jsonpointer",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/jsonreference",
            "direct": false,
            "version": "0.19.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/go-openapi/swag",
            "direct": false,
            "version": "0.19.14",
            "ecosystem": "go"
          },
          {
            "name": "github.com/gogo/protobuf",
            "direct": false,
            "version": "1.3.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/groupcache",
            "direct": false,
            "version": "0.0.0-20210331224755-41bb18bfe9da",
            "ecosystem": "go"
          },
          {
            "name": "github.com/golang/protobuf",
            "direct": false,
            "version": "1.5.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/gnostic",
            "direct": false,
            "version": "0.5.7-v3refs",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/go-cmp",
            "direct": false,
            "version": "0.5.8",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/gofuzz",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/google/uuid",
            "direct": false,
            "version": "1.1.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/imdario/mergo",
            "direct": false,
            "version": "0.3.12",
            "ecosystem": "go"
          },
          {
            "name": "github.com/josharian/intern",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/json-iterator/go",
            "direct": false,
            "version": "1.1.12",
            "ecosystem": "go"
          },
          {
            "name": "github.com/mailru/easyjson",
            "direct": false,
            "version": "0.7.6",
            "ecosystem": "go"
          },
          {
            "name": "github.com/matttproud/golang_protobuf_extensions",
            "direct": false,
            "version": "1.0.2-0.20181231171920-c182affec369",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/concurrent",
            "direct": false,
            "version": "0.0.0-20180306012644-bacd9c7ef1dd",
            "ecosystem": "go"
          },
          {
            "name": "github.com/modern-go/reflect2",
            "direct": false,
            "version": "1.0.2",
            "ecosystem": "go"
          },
          {
            "name": "github.com/munnerz/goautoneg",
            "direct": false,
            "version": "0.0.0-20191010083416-a7dc8b61c822",
            "ecosystem": "go"
          },
          {
            "name": "github.com/onsi/ginkgo/v2",
            "direct": false,
            "version": "2.1.4",
            "ecosystem": "go"
          },
          {
            "name": "github.com/onsi/gomega",
            "direct": false,
            "version": "1.20.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pkg/errors",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/pmezard/go-difflib",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_golang",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/client_model",
            "direct": false,
            "version": "0.2.0",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/common",
            "direct": false,
            "version": "0.32.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/prometheus/procfs",
            "direct": false,
            "version": "0.7.3",
            "ecosystem": "go"
          },
          {
            "name": "github.com/puerkitobio/purell",
            "direct": false,
            "version": "1.1.1",
            "ecosystem": "go"
          },
          {
            "name": "github.com/puerkitobio/urlesc",
            "direct": false,
            "version": "0.0.0-20170810143723-de5bf2ad4578",
            "ecosystem": "go"
          },
          {
            "name": "github.com/spf13/pflag",
            "direct": false,
            "version": "1.0.5",
            "ecosystem": "go"
          },
          {
            "name": "github.com/stretchr/testify",
            "direct": false,
            "version": "1.8.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/atomic",
            "direct": false,
            "version": "1.7.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/multierr",
            "direct": false,
            "version": "1.6.0",
            "ecosystem": "go"
          },
          {
            "name": "go.uber.org/zap",
            "direct": false,
            "version": "1.19.1",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/mod",
            "direct": false,
            "version": "0.6.0-dev.0.20220419223038-86c51ed26bb4",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/net",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/oauth2",
            "direct": false,
            "version": "0.0.0-20211104180415-d3ed0bb246c8",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sync",
            "direct": false,
            "version": "0.0.0-20220722155255-886fb9371eb4",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/sys",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/term",
            "direct": false,
            "version": "0.5.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/text",
            "direct": false,
            "version": "0.7.0",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/time",
            "direct": false,
            "version": "0.0.0-20220210224613-90d013bbcef8",
            "ecosystem": "go"
          },
          {
            "name": "golang.org/x/tools",
            "direct": false,
            "version": "0.1.12",
            "ecosystem": "go"
          },
          {
            "name": "gomodules.xyz/jsonpatch/v2",
            "direct": false,
            "version": "2.2.0",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/appengine",
            "direct": false,
            "version": "1.6.7",
            "ecosystem": "go"
          },
          {
            "name": "google.golang.org/protobuf",
            "direct": false,
            "version": "1.33.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/inf.v0",
            "direct": false,
            "version": "0.9.1",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v2",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "go"
          },
          {
            "name": "gopkg.in/yaml.v3",
            "direct": false,
            "version": "3.0.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/api",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/apiextensions-apiserver",
            "direct": false,
            "version": "0.24.0",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/apimachinery",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/client-go",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/code-generator",
            "direct": false,
            "version": "0.24.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/component-base",
            "direct": false,
            "version": "0.24.0",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/gengo",
            "direct": false,
            "version": "0.0.0-20211129171323-c02415ce4185",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/klog/v2",
            "direct": false,
            "version": "2.60.1",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/kube-openapi",
            "direct": false,
            "version": "0.0.0-20220328201542-3ee0da9b0b42",
            "ecosystem": "go"
          },
          {
            "name": "k8s.io/utils",
            "direct": false,
            "version": "0.0.0-20220210201930-3a6ce19ff2f9",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/controller-runtime",
            "direct": false,
            "version": "0.12.1",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/json",
            "direct": false,
            "version": "0.0.0-20211208200746-9f7c6b3444d2",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/structured-merge-diff/v4",
            "direct": false,
            "version": "4.2.3",
            "ecosystem": "go"
          },
          {
            "name": "sigs.k8s.io/yaml",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "go"
          },
          {
            "name": "com.diffplug.spotless:spotless-maven-plugin",
            "direct": false,
            "version": "2.30.0",
            "ecosystem": "maven"
          },
          {
            "name": "com.fasterxml.jackson.core:jackson-annotations",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "com.github.eirslett:frontend-maven-plugin",
            "direct": false,
            "version": "1.12.1",
            "ecosystem": "maven"
          },
          {
            "name": "com.github.spotbugs:spotbugs-maven-plugin",
            "direct": false,
            "version": "4.7.0.0",
            "ecosystem": "maven"
          },
          {
            "name": "javax.servlet:javax.servlet-api",
            "direct": false,
            "version": "3.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "junit:junit",
            "direct": false,
            "version": "4.11",
            "ecosystem": "maven"
          },
          {
            "name": "net.alchim31.maven:scala-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "net.nicoulaj.maven.plugins:checksum-maven-plugin",
            "direct": false,
            "version": "1.11",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.felix:maven-bundle-plugin",
            "direct": false,
            "version": "2.4.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-examples",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-mapreduce-examples",
            "direct": false,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-client",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.hadoop:hadoop-yarn-client",
            "direct": false,
            "version": "2.8.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-antrun-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-antrun-plugin",
            "direct": false,
            "version": "1.8",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-assembly-plugin",
            "direct": false,
            "version": "1.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-assembly-plugin",
            "direct": false,
            "version": "2.6",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-checkstyle-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-checkstyle-plugin",
            "direct": false,
            "version": "3.1.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-compiler-plugin",
            "direct": false,
            "version": "3.7.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-dependency-plugin",
            "direct": false,
            "version": "2.10",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-deploy-plugin",
            "direct": false,
            "version": "2.8.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-enforcer-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-enforcer-plugin",
            "direct": false,
            "version": "1.4.1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-gpg-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-install-plugin",
            "direct": false,
            "version": "2.5.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-jar-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-jar-plugin",
            "direct": false,
            "version": "2.3.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-jar-plugin",
            "direct": false,
            "version": "2.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-javadoc-plugin",
            "direct": false,
            "version": "3.0.0-M1",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-remote-resources-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-remote-resources-plugin",
            "direct": false,
            "version": "1.5",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-shade-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-shade-plugin",
            "direct": false,
            "version": "3.6.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-source-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.maven.plugins:maven-surefire-plugin",
            "direct": false,
            "version": "2.22.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.rat:apache-rat-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.rat:apache-rat-plugin",
            "direct": false,
            "version": "0.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.tez:tez-tests",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-mr",
            "direct": false,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-client-tez",
            "direct": false,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.apache.uniffle:rss-integration-spark-common-test",
            "direct": false,
            "version": "0.11.0-SNAPSHOT",
            "ecosystem": "maven"
          },
          {
            "name": "org.awaitility:awaitility",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.awaitility:awaitility",
            "direct": false,
            "version": "4.2.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.bouncycastle:bcprov-jdk15on",
            "direct": false,
            "version": "1.60",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.jackson:jackson-jaxrs",
            "direct": false,
            "version": "1.9.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.jackson:jackson-xc",
            "direct": false,
            "version": "1.9.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:build-helper-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:build-helper-maven-plugin",
            "direct": false,
            "version": "3.6.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:buildnumber-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:buildnumber-maven-plugin",
            "direct": false,
            "version": "1.4",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:exec-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:flatten-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:flatten-maven-plugin",
            "direct": false,
            "version": "1.3.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:license-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:license-maven-plugin",
            "direct": false,
            "version": "1.13",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:properties-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:properties-maven-plugin",
            "direct": false,
            "version": "1.1.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:templating-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.codehaus.mojo:templating-maven-plugin",
            "direct": false,
            "version": "1.0.0",
            "ecosystem": "maven"
          },
          {
            "name": "org.jacoco:jacoco-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.jacoco:jacoco-maven-plugin",
            "direct": false,
            "version": "0.8.3",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.jupiter:junit-jupiter",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.jupiter:junit-jupiter",
            "direct": false,
            "version": "5.8.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.platform:junit-platform-launcher",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.junit.platform:junit-platform-launcher",
            "direct": false,
            "version": "1.8.2",
            "ecosystem": "maven"
          },
          {
            "name": "org.xolstice.maven.plugins:protobuf-maven-plugin",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "org.xolstice.maven.plugins:protobuf-maven-plugin",
            "direct": false,
            "version": "0.6.1",
            "ecosystem": "maven"
          },
          {
            "name": "uk.org.webcompere:system-stubs-jupiter",
            "direct": false,
            "version": null,
            "ecosystem": "maven"
          },
          {
            "name": "uk.org.webcompere:system-stubs-jupiter",
            "direct": false,
            "version": "2.0.1",
            "ecosystem": "maven"
          },
          {
            "name": "@babel/core",
            "direct": false,
            "version": "^7.12.16",
            "ecosystem": "npm"
          },
          {
            "name": "@babel/eslint-parser",
            "direct": false,
            "version": "^7.12.16",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/cli-plugin-babel",
            "direct": false,
            "version": "~5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/cli-plugin-eslint",
            "direct": false,
            "version": "~5.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/cli-service",
            "direct": false,
            "version": "^5.0.8",
            "ecosystem": "npm"
          },
          {
            "name": "@vue/eslint-config-prettier",
            "direct": false,
            "version": "^9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "axios",
            "direct": false,
            "version": "^1.4.0",
            "ecosystem": "npm"
          },
          {
            "name": "core-js",
            "direct": false,
            "version": "^3.8.3",
            "ecosystem": "npm"
          },
          {
            "name": "element-plus",
            "direct": false,
            "version": "^2.3.6",
            "ecosystem": "npm"
          },
          {
            "name": "eslint",
            "direct": false,
            "version": "^8.57.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-config-standard",
            "direct": false,
            "version": "^17.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-import",
            "direct": false,
            "version": "^2.29.1",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-n",
            "direct": false,
            "version": "^16.6.2",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-prettier",
            "direct": false,
            "version": "^5.1.3",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-promise",
            "direct": false,
            "version": "^6.2.0",
            "ecosystem": "npm"
          },
          {
            "name": "eslint-plugin-vue",
            "direct": false,
            "version": "^9.26.0",
            "ecosystem": "npm"
          },
          {
            "name": "mockjs",
            "direct": false,
            "version": "^1.1.0",
            "ecosystem": "npm"
          },
          {
            "name": "moment",
            "direct": false,
            "version": "^2.29.4",
            "ecosystem": "npm"
          },
          {
            "name": "node-sass",
            "direct": false,
            "version": "^9.0.0",
            "ecosystem": "npm"
          },
          {
            "name": "pinia",
            "direct": false,
            "version": "^2.1.7",
            "ecosystem": "npm"
          },
          {
            "name": "prettier",
            "direct": false,
            "version": "^3.3.2",
            "ecosystem": "npm"
          },
          {
            "name": "rimraf",
            "direct": false,
            "version": "^5.0.1",
            "ecosystem": "npm"
          },
          {
            "name": "sass-loader",
            "direct": false,
            "version": "^13.3.1",
            "ecosystem": "npm"
          },
          {
            "name": "vue",
            "direct": false,
            "version": "^3.2.13",
            "ecosystem": "npm"
          },
          {
            "name": "vue-loader",
            "direct": false,
            "version": "^17.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "vue-resource",
            "direct": false,
            "version": "^1.5.3",
            "ecosystem": "npm"
          },
          {
            "name": "vue-router",
            "direct": false,
            "version": "^4.2.2",
            "ecosystem": "npm"
          },
          {
            "name": "vue-template-compiler",
            "direct": false,
            "version": "^2.7.14",
            "ecosystem": "npm"
          }
        ],
        "collected": true,
        "truncated": false,
        "total_count": 315,
        "direct_count": 144,
        "indirect_count": 171
      }
    },
    "maintainership": {
      "issues": {
        "open_prs": 57,
        "merged_prs": 1376,
        "open_issues": 269,
        "closed_ratio": 0.754,
        "closed_issues": 826,
        "closed_unmerged_prs": 195
      },
      "bus_factor": 5,
      "bot_contributors": 1,
      "top_contributors": [
        {
          "type": "User",
          "login": "zuston",
          "commits": 323,
          "avatar_url": "https://avatars.githubusercontent.com/u/8609142?v=4"
        },
        {
          "type": "User",
          "login": "maobaolong",
          "commits": 130,
          "avatar_url": "https://avatars.githubusercontent.com/u/17329931?v=4"
        },
        {
          "type": "User",
          "login": "roryqi",
          "commits": 119,
          "avatar_url": "https://avatars.githubusercontent.com/u/8159038?v=4"
        },
        {
          "type": "User",
          "login": "xianjingfeng",
          "commits": 114,
          "avatar_url": "https://avatars.githubusercontent.com/u/11752250?v=4"
        },
        {
          "type": "User",
          "login": "rickyma",
          "commits": 90,
          "avatar_url": "https://avatars.githubusercontent.com/u/13834479?v=4"
        },
        {
          "type": "User",
          "login": "kaijchen",
          "commits": 78,
          "avatar_url": "https://avatars.githubusercontent.com/u/5821159?v=4"
        },
        {
          "type": "User",
          "login": "zhengchenyu",
          "commits": 59,
          "avatar_url": "https://avatars.githubusercontent.com/u/10381583?v=4"
        },
        {
          "type": "User",
          "login": "yl09099",
          "commits": 41,
          "avatar_url": "https://avatars.githubusercontent.com/u/33595968?v=4"
        },
        {
          "type": "User",
          "login": "advancedxy",
          "commits": 40,
          "avatar_url": "https://avatars.githubusercontent.com/u/807537?v=4"
        },
        {
          "type": "User",
          "login": "smallzhongfeng",
          "commits": 38,
          "avatar_url": "https://avatars.githubusercontent.com/u/84573424?v=4"
        }
      ],
      "contributors_sampled": 77,
      "top_contributor_share": 0.223
    },
    "quality_signals": {
      "has_ci": true,
      "has_tests": true,
      "ci_workflows": [
        "build.yml",
        "changes.yml",
        "docker.yml",
        "parallel.yml",
        "sequential.yml",
        "single.yml",
        "test-results.yml"
      ],
      "has_docs_dir": true,
      "linter_configs": [
        ".eslintrc.js"
      ],
      "has_editorconfig": false,
      "has_linter_config": true,
      "has_precommit_config": false
    },
    "security_signals": {
      "lockfiles": [
        "go.sum"
      ],
      "scorecard": {
        "checks": [
          {
            "name": "Binary-Artifacts",
            "score": 10,
            "reason": "no binaries found in the repo",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
          },
          {
            "name": "Branch-Protection",
            "score": null,
            "reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
          },
          {
            "name": "CI-Tests",
            "score": 7,
            "reason": "22 out of 30 merged PRs checked by a CI test -- score normalized to 7",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
          },
          {
            "name": "CII-Best-Practices",
            "score": 0,
            "reason": "no effort to earn an OpenSSF best practices badge detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
          },
          {
            "name": "Code-Review",
            "score": 10,
            "reason": "all changesets reviewed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
          },
          {
            "name": "Contributors",
            "score": 10,
            "reason": "project has 12 contributing companies or organizations",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
          },
          {
            "name": "Dangerous-Workflow",
            "score": 10,
            "reason": "no dangerous workflow patterns detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
          },
          {
            "name": "Dependency-Update-Tool",
            "score": 10,
            "reason": "update tool detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
          },
          {
            "name": "Fuzzing",
            "score": 0,
            "reason": "project is not fuzzed",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
          },
          {
            "name": "License",
            "score": 10,
            "reason": "license file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
          },
          {
            "name": "Maintained",
            "score": 10,
            "reason": "10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
          },
          {
            "name": "Packaging",
            "score": null,
            "reason": "packaging workflow not detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
          },
          {
            "name": "Pinned-Dependencies",
            "score": 1,
            "reason": "dependency not pinned by hash detected -- score normalized to 1",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
          },
          {
            "name": "SAST",
            "score": 0,
            "reason": "SAST tool is not run on all commits -- score normalized to 0",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
          },
          {
            "name": "Security-Policy",
            "score": 10,
            "reason": "security policy file detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
          },
          {
            "name": "Signed-Releases",
            "score": 8,
            "reason": "2 out of the last 2 releases have a total of 2 signed artifacts.",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
          },
          {
            "name": "Token-Permissions",
            "score": 0,
            "reason": "detected GitHub workflow tokens with excessive permissions",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
          },
          {
            "name": "Vulnerabilities",
            "score": 0,
            "reason": "111 existing vulnerabilities detected",
            "documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
          }
        ],
        "commit": "1bbfd791fc6b5ffdc0f48897f04b62fd94d52f22",
        "ran_at": "2026-07-21T20:19:49Z",
        "aggregate_score": 6.3,
        "scorecard_version": "v5.5.0"
      },
      "has_codeql_workflow": false,
      "has_security_policy": true,
      "has_dependabot_config": false
    }
  },
  "config": {
    "disabled_metrics": [],
    "disabled_categories": [],
    "disabled_components": {}
  },
  "source": {
    "url": "https://github.com/apache/uniffle",
    "host": "github.com",
    "name": "uniffle",
    "owner": "apache"
  },
  "metrics": {
    "overall": {
      "key": "overall",
      "band": "good",
      "name": "Overall health",
      "note": null,
      "notes": [],
      "value": 78,
      "inputs": {
        "security": 54,
        "vitality": 80,
        "community": 79,
        "governance": 84,
        "engineering": 87
      },
      "components": []
    },
    "categories": [
      {
        "key": "vitality",
        "band": "good",
        "name": "Vitality",
        "value": 80,
        "weight": 0.22,
        "metrics": [
          {
            "key": "development_activity",
            "band": "excellent",
            "name": "Development activity",
            "note": null,
            "notes": [],
            "value": 90,
            "inputs": {
              "commits_last_year": 115,
              "human_commit_share": 1,
              "days_since_last_push": 5,
              "active_weeks_last_year": 38
            },
            "components": [
              {
                "key": "push_recency",
                "name": "Push recency",
                "detail": "last push 5 days ago",
                "points": 36,
                "status": "met",
                "details": [
                  {
                    "code": "push_recency",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_cadence",
                "name": "Commit cadence",
                "detail": "38/52 weeks with commits",
                "points": 26.3,
                "status": "partial",
                "details": [
                  {
                    "code": "commit_cadence_weeks",
                    "params": {
                      "weeks": 38
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "commit_volume",
                "name": "Commit volume",
                "detail": "115 commits in the last year",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "commits_last_year",
                    "params": {
                      "count": 115
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "openssf_scorecard_maintained",
                "name": "OpenSSF Scorecard: Maintained",
                "detail": "10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "release_discipline",
            "band": "moderate",
            "name": "Release discipline",
            "note": null,
            "notes": [],
            "value": 64,
            "inputs": {
              "releases_count": 9,
              "latest_release_tag": "v0.10.0",
              "releases_from_tags": false,
              "days_since_latest_release": 299,
              "mean_days_between_releases": 133
            },
            "components": [
              {
                "key": "ships_releases",
                "name": "Ships releases",
                "detail": "9 releases published",
                "points": 27,
                "status": "met",
                "details": [
                  {
                    "code": "releases_published",
                    "params": {
                      "count": 9
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "release_recency",
                "name": "Release recency",
                "detail": "latest release 299 days ago",
                "points": 16.2,
                "status": "partial",
                "details": [
                  {
                    "code": "release_recency",
                    "params": {
                      "days": 299
                    }
                  }
                ],
                "max_points": 36
              },
              {
                "key": "release_cadence",
                "name": "Release cadence",
                "detail": "a release every ~133 days",
                "points": 12.6,
                "status": "partial",
                "details": [
                  {
                    "code": "release_cadence",
                    "params": {
                      "gap": 133
                    }
                  }
                ],
                "max_points": 27
              },
              {
                "key": "openssf_scorecard_signed_releases",
                "name": "OpenSSF Scorecard: Signed-Releases",
                "detail": "2 out of the last 2 releases have a total of 2 signed artifacts.",
                "points": 8,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "abandonment",
            "band": "excellent",
            "name": "Abandonment",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "cap": null,
              "state": "maintained",
              "guards": [],
              "signals": [],
              "red_flag": false,
              "multiplier_pct": 100,
              "declared_reason": null,
              "unverified_reason": null,
              "unanswered_open_prs": null,
              "unanswered_open_issues": null,
              "days_since_last_merged_pr": null,
              "days_since_last_human_commit": 5,
              "days_since_last_human_commit_is_floor": false
            },
            "components": [
              {
                "key": "project_is_still_maintained",
                "name": "Project is still maintained",
                "detail": "last human commit 5 days ago",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "abandonment_maintained",
                    "params": {
                      "days": 5
                    }
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Is the project alive — is code being written and are releases shipping?"
      },
      {
        "key": "community",
        "band": "good",
        "name": "Community & Adoption",
        "value": 79,
        "weight": 0.18,
        "metrics": [
          {
            "key": "popularity",
            "band": "moderate",
            "name": "Popularity & adoption",
            "note": null,
            "notes": [],
            "value": 68,
            "inputs": {
              "forks": 170,
              "stars": 451,
              "watchers": 16,
              "growth_state": "organic",
              "growth_factor_pct": 100
            },
            "components": [
              {
                "key": "stars",
                "name": "Stars",
                "detail": "451 stars",
                "points": 43,
                "status": "partial",
                "details": [
                  {
                    "code": "stars",
                    "params": {
                      "count": 451
                    }
                  }
                ],
                "max_points": 60
              },
              {
                "key": "forks",
                "name": "Forks",
                "detail": "170 forks",
                "points": 18.6,
                "status": "partial",
                "details": [
                  {
                    "code": "forks",
                    "params": {
                      "count": 170
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "watchers",
                "name": "Watchers",
                "detail": "16 watchers",
                "points": 6.5,
                "status": "partial",
                "details": [
                  {
                    "code": "watchers",
                    "params": {
                      "count": 16
                    }
                  }
                ],
                "max_points": 15
              }
            ]
          },
          {
            "key": "community_health",
            "band": "excellent",
            "name": "Community health",
            "note": null,
            "notes": [],
            "value": 92,
            "inputs": {
              "has_readme": true,
              "has_license": true,
              "has_contributing": true,
              "has_issue_template": false,
              "has_code_of_conduct": true,
              "has_pull_request_template": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 22.5,
                "status": "met",
                "details": [],
                "max_points": 22.5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "recognized license (Apache-2.0)",
                "points": 22.5,
                "status": "met",
                "details": [
                  {
                    "code": "license_standard",
                    "params": {}
                  },
                  {
                    "code": "license_spdx",
                    "params": {
                      "spdx": "Apache-2.0"
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributing_guide",
                "name": "CONTRIBUTING guide",
                "detail": null,
                "points": 18,
                "status": "met",
                "details": [],
                "max_points": 18
              },
              {
                "key": "code_of_conduct",
                "name": "Code of conduct",
                "detail": null,
                "points": 13.5,
                "status": "met",
                "details": [],
                "max_points": 13.5
              },
              {
                "key": "issue_template",
                "name": "Issue template",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.2
              },
              {
                "key": "pr_template",
                "name": "PR template",
                "detail": null,
                "points": 6.3,
                "status": "met",
                "details": [],
                "max_points": 6.3
              }
            ]
          }
        ],
        "description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
      },
      {
        "key": "governance",
        "band": "good",
        "name": "Sustainability & Governance",
        "value": 84,
        "weight": 0.24,
        "metrics": [
          {
            "key": "maintainer_resilience",
            "band": "excellent",
            "name": "Maintainer resilience (bus factor)",
            "note": null,
            "notes": [],
            "value": 87,
            "inputs": {
              "bus_factor": 5,
              "contributors_sampled": 77,
              "top_contributor_share": 0.223
            },
            "components": [
              {
                "key": "bus_factor",
                "name": "Bus factor",
                "detail": "5 contributor(s) cover half of all commits",
                "points": 45.9,
                "status": "partial",
                "details": [
                  {
                    "code": "bus_factor",
                    "params": {
                      "count": 5
                    }
                  }
                ],
                "max_points": 54
              },
              {
                "key": "commit_distribution",
                "name": "Commit distribution",
                "detail": "top contributor authored 22% of commits",
                "points": 17.5,
                "status": "partial",
                "details": [
                  {
                    "code": "top_contributor_share",
                    "params": {
                      "share": 22
                    }
                  }
                ],
                "max_points": 22.5
              },
              {
                "key": "contributor_breadth",
                "name": "Contributor breadth",
                "detail": "77 contributors",
                "points": 13.5,
                "status": "met",
                "details": [
                  {
                    "code": "contributors_sampled",
                    "params": {
                      "count": 77
                    }
                  }
                ],
                "max_points": 13.5
              },
              {
                "key": "openssf_scorecard_contributors",
                "name": "OpenSSF Scorecard: Contributors",
                "detail": "project has 12 contributing companies or organizations",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "responsiveness",
            "band": "good",
            "name": "Issue & PR responsiveness",
            "note": null,
            "notes": [],
            "value": 84,
            "inputs": {
              "merged_prs": 1376,
              "open_issues": 269,
              "closed_issues": 826,
              "issue_closed_ratio": 0.754,
              "closed_unmerged_prs": 195
            },
            "components": [
              {
                "key": "issue_resolution",
                "name": "Issue resolution",
                "detail": "75% of issues closed",
                "points": 35.2,
                "status": "partial",
                "details": [
                  {
                    "code": "issues_closed_share",
                    "params": {
                      "share": 75
                    }
                  }
                ],
                "max_points": 46.75
              },
              {
                "key": "pr_acceptance",
                "name": "PR acceptance",
                "detail": "1376/1571 decided PRs merged",
                "points": 33.5,
                "status": "partial",
                "details": [
                  {
                    "code": "decided_prs_merged",
                    "params": {
                      "merged": 1376,
                      "decided": 1571
                    }
                  }
                ],
                "max_points": 38.25
              },
              {
                "key": "openssf_scorecard_code_review",
                "name": "OpenSSF Scorecard: Code-Review",
                "detail": "all changesets reviewed",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              }
            ]
          },
          {
            "key": "stewardship",
            "band": "good",
            "name": "Ownership & stewardship",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "followers": 23511,
              "owner_type": "Organization",
              "is_verified": null,
              "owner_login": "apache",
              "public_repos": 3146,
              "account_age_days": 6394
            },
            "components": [
              {
                "key": "ownership_backing",
                "name": "Ownership backing",
                "detail": "organization-owned",
                "points": 30,
                "status": "met",
                "details": [
                  {
                    "code": "owner_organization",
                    "params": {}
                  }
                ],
                "max_points": 30
              },
              {
                "key": "verified_domain",
                "name": "Verified domain",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "owner_reach",
                "name": "Owner reach",
                "detail": "23,511 followers of apache",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "owner_followers",
                    "params": {
                      "count": 23511,
                      "login": "apache"
                    }
                  }
                ],
                "max_points": 25
              },
              {
                "key": "track_record",
                "name": "Track record",
                "detail": "3146 public repos, account ~17 yr old",
                "points": 25,
                "status": "met",
                "details": [
                  {
                    "code": "public_repos",
                    "params": {
                      "count": 3146
                    }
                  },
                  {
                    "code": "account_age_years",
                    "params": {
                      "years": 17
                    }
                  }
                ],
                "max_points": 25
              }
            ]
          }
        ],
        "description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
      },
      {
        "key": "engineering",
        "band": "excellent",
        "name": "Engineering Quality",
        "value": 87,
        "weight": 0.2,
        "metrics": [
          {
            "key": "engineering_practices",
            "band": "good",
            "name": "Engineering practices",
            "note": null,
            "notes": [],
            "value": 78,
            "inputs": {
              "has_ci": true,
              "has_tests": true,
              "has_editorconfig": false,
              "has_linter_config": true,
              "has_precommit_config": false
            },
            "components": [
              {
                "key": "ci_workflows",
                "name": "CI workflows",
                "detail": "7 workflow(s)",
                "points": 24,
                "status": "met",
                "details": [
                  {
                    "code": "ci_workflows",
                    "params": {
                      "count": 7
                    }
                  }
                ],
                "max_points": 24
              },
              {
                "key": "tests_present",
                "name": "Tests present",
                "detail": null,
                "points": 24,
                "status": "met",
                "details": [],
                "max_points": 24
              },
              {
                "key": "linter_config",
                "name": "Linter config",
                "detail": ".eslintrc.js",
                "points": 16,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 16
              },
              {
                "key": "pre_commit_hooks",
                "name": "Pre-commit hooks",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 9.6
              },
              {
                "key": "editorconfig",
                "name": ".editorconfig",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 6.4
              },
              {
                "key": "openssf_scorecard_ci_tests",
                "name": "OpenSSF Scorecard: CI-Tests",
                "detail": "22 out of 30 merged PRs checked by a CI test -- score normalized to 7",
                "points": 14,
                "status": "partial",
                "details": [],
                "max_points": 20
              }
            ]
          },
          {
            "key": "documentation",
            "band": "excellent",
            "name": "Documentation",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "topics": [
                "mapreduce",
                "shuffle",
                "spark",
                "remote-shuffle-service",
                "rss",
                "tez"
              ],
              "has_wiki": true,
              "homepage": "https://uniffle.apache.org/",
              "has_readme": true,
              "has_docs_dir": true,
              "has_description": true
            },
            "components": [
              {
                "key": "readme",
                "name": "README",
                "detail": null,
                "points": 30,
                "status": "met",
                "details": [],
                "max_points": 30
              },
              {
                "key": "documentation_directory",
                "name": "Documentation directory",
                "detail": null,
                "points": 25,
                "status": "met",
                "details": [],
                "max_points": 25
              },
              {
                "key": "documentation_homepage_site",
                "name": "Documentation / homepage site",
                "detail": "https://uniffle.apache.org/",
                "points": 15,
                "status": "met",
                "details": [],
                "max_points": 15
              },
              {
                "key": "repository_description",
                "name": "Repository description",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "topics",
                "name": "Topics",
                "detail": "6 topics",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "topics_count",
                    "params": {
                      "count": 6
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "wiki",
                "name": "Wiki",
                "detail": null,
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              }
            ]
          }
        ],
        "description": "Are baseline engineering and documentation practices in place?"
      },
      {
        "key": "security",
        "band": "moderate",
        "name": "Security",
        "value": 54,
        "weight": 0.16,
        "metrics": [
          {
            "key": "security_posture",
            "band": "moderate",
            "name": "Security posture",
            "note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "branch_protection",
                    "packaging"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              }
            ],
            "value": 63,
            "inputs": {
              "source": "openssf_scorecard",
              "checks_evaluated": 16,
              "scorecard_version": "v5.5.0",
              "checks_inconclusive": 2,
              "scorecard_aggregate": 6.3
            },
            "components": [
              {
                "key": "binary_artifacts",
                "name": "Binary-Artifacts",
                "detail": "no binaries found in the repo",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "branch_protection",
                "name": "Branch-Protection",
                "detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 7.5
              },
              {
                "key": "ci_tests",
                "name": "CI-Tests",
                "detail": "22 out of 30 merged PRs checked by a CI test -- score normalized to 7",
                "points": 1.8,
                "status": "partial",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "cii_best_practices",
                "name": "CII-Best-Practices",
                "detail": "no effort to earn an OpenSSF best practices badge detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "code_review",
                "name": "Code-Review",
                "detail": "all changesets reviewed",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "contributors",
                "name": "Contributors",
                "detail": "project has 12 contributing companies or organizations",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "dangerous_workflow",
                "name": "Dangerous-Workflow",
                "detail": "no dangerous workflow patterns detected",
                "points": 10,
                "status": "met",
                "details": [],
                "max_points": 10
              },
              {
                "key": "dependency_update_tool",
                "name": "Dependency-Update-Tool",
                "detail": "update tool detected",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "fuzzing",
                "name": "Fuzzing",
                "detail": "project is not fuzzed",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "license",
                "name": "License",
                "detail": "license file detected",
                "points": 2.5,
                "status": "met",
                "details": [],
                "max_points": 2.5
              },
              {
                "key": "maintained",
                "name": "Maintained",
                "detail": "10 commit(s) and 5 issue activity found in the last 90 days -- score normalized to 10",
                "points": 7.5,
                "status": "met",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "packaging",
                "name": "Packaging",
                "detail": "packaging workflow not detected",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "no_data",
                    "params": {}
                  }
                ],
                "max_points": 5
              },
              {
                "key": "pinned_dependencies",
                "name": "Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 0.5,
                "status": "partial",
                "details": [],
                "max_points": 5
              },
              {
                "key": "sast",
                "name": "SAST",
                "detail": "SAST tool is not run on all commits -- score normalized to 0",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 5
              },
              {
                "key": "security_policy",
                "name": "Security-Policy",
                "detail": "security policy file detected",
                "points": 5,
                "status": "met",
                "details": [],
                "max_points": 5
              },
              {
                "key": "signed_releases",
                "name": "Signed-Releases",
                "detail": "2 out of the last 2 releases have a total of 2 signed artifacts.",
                "points": 6,
                "status": "partial",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "token_permissions",
                "name": "Token-Permissions",
                "detail": "detected GitHub workflow tokens with excessive permissions",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              },
              {
                "key": "vulnerabilities",
                "name": "Vulnerabilities",
                "detail": "111 existing vulnerabilities detected",
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 7.5
              }
            ]
          },
          {
            "key": "dependency_advisories",
            "band": "critical",
            "name": "Dependency advisories",
            "note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories. Remaining weights renormalized. Matched 190 resolved dependencies against OSV; 125 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
            "notes": [
              {
                "code": "excluded_no_data",
                "params": {
                  "components": [
                    "indirect_dependencies_free_of_known_advisories"
                  ]
                }
              },
              {
                "code": "weights_renormalized",
                "params": {}
              },
              {
                "code": "advisories_scope_repository",
                "params": {
                  "assessed": 190
                }
              },
              {
                "code": "advisories_unassessed",
                "params": {
                  "count": 125
                }
              },
              {
                "code": "advisories_repo_graph_caveat",
                "params": {}
              },
              {
                "code": "advisories_reachability",
                "params": {}
              }
            ],
            "value": 19,
            "inputs": {
              "source": "osv",
              "advisories": 78,
              "affected_packages": 19,
              "assessed_packages": 190,
              "unassessed_packages": 125,
              "affected_by_severity": "critical 1, high 10, moderate 5, low 1, unknown 2",
              "direct_affected_packages": 13
            },
            "components": [
              {
                "key": "direct_dependencies_free_of_known_advisories",
                "name": "Direct dependencies free of known advisories",
                "detail": "13 affected: org.apache.hadoop:hadoop-common 2.8.5 (critical 9.8), com.fasterxml.jackson.core:jackson-core 2.10.0 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.10.0 (high 8.1), +10 more",
                "points": 2.5,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_affected",
                    "params": {
                      "count": 13,
                      "packages": "org.apache.hadoop:hadoop-common 2.8.5 (critical 9.8), com.fasterxml.jackson.core:jackson-core 2.10.0 (high 7.5), com.fasterxml.jackson.core:jackson-databind 2.10.0 (high 8.1)"
                    }
                  },
                  {
                    "code": "advisories_affected_more",
                    "params": {
                      "count": 10
                    }
                  }
                ],
                "max_points": 35
              },
              {
                "key": "indirect_dependencies_free_of_known_advisories",
                "name": "Indirect dependencies free of known advisories",
                "detail": "transitive set not separable from development and test dependencies in this scope",
                "points": 0,
                "status": "excluded",
                "details": [
                  {
                    "code": "advisories_scope_not_separable",
                    "params": {}
                  }
                ],
                "max_points": 25
              },
              {
                "key": "no_advisories_left_outstanding",
                "name": "No advisories left outstanding",
                "detail": "13 advisory-carrying package(s) unaddressed past 90 days; oldest published 2672 days ago",
                "points": 12,
                "status": "partial",
                "details": [
                  {
                    "code": "advisories_stale",
                    "params": {
                      "days": 90,
                      "count": 13,
                      "oldest": 2672
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "malicious_dependencies",
            "band": "excellent",
            "name": "Malicious dependencies",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "source": "osv",
              "meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
              "packages": [],
              "red_flag": false,
              "assessed_packages": 190,
              "malicious_packages": 0,
              "direct_malicious_packages": 0,
              "withdrawn_malicious_packages": 0,
              "installable_malicious_packages": 0
            },
            "components": [
              {
                "key": "no_dependency_reported_as_a_malicious_package",
                "name": "No dependency reported as a malicious package",
                "detail": "no dependency is reported as a malicious package",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "no_malicious_dependencies",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          },
          {
            "key": "high_risk_jurisdiction_exposure",
            "band": "excellent",
            "name": "High-Risk Jurisdiction Exposure",
            "note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
            "notes": [
              {
                "code": "jurisdiction_evidence_limits",
                "params": {}
              }
            ],
            "value": 100,
            "inputs": {
              "meaning": "self-published location evidence; not nationality or citizenship",
              "red_flag": false,
              "exposures": [],
              "policy_countries": [
                "Russia",
                "Iran",
                "North Korea"
              ],
              "review_only_matches": 0,
              "assessed_self_published_locations": 6
            },
            "components": [
              {
                "key": "policy_exposure_multiplier",
                "name": "Policy exposure multiplier",
                "detail": "no confirmed policy-scope location match",
                "points": 100,
                "status": "met",
                "details": [
                  {
                    "code": "jurisdiction_no_match",
                    "params": {}
                  }
                ],
                "max_points": 100
              }
            ]
          }
        ],
        "description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
      },
      {
        "key": "ai_readiness",
        "band": "moderate",
        "name": "AI Readiness",
        "value": 69,
        "weight": 0,
        "metrics": [
          {
            "key": "ai_agent_context",
            "band": "at_risk",
            "name": "Agent context & guidance",
            "note": null,
            "notes": [],
            "value": 40,
            "inputs": {
              "has_llms_txt": false,
              "legible_history_share": 0.99,
              "agent_instruction_files": [],
              "agent_instruction_max_bytes": null
            },
            "components": [
              {
                "key": "agent_instructions",
                "name": "Agent instructions",
                "detail": "no CLAUDE.md / AGENTS.md / editor rules",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_agent_instructions",
                    "params": {}
                  }
                ],
                "max_points": 45
              },
              {
                "key": "machine_readable_docs_llms_txt",
                "name": "Machine-readable docs (llms.txt)",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 15
              },
              {
                "key": "legible_commit_history",
                "name": "Legible commit history",
                "detail": "99 of 100 human commits state their intent (structured subject or explanatory body)",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "legible_history",
                    "params": {
                      "legible": 99,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          },
          {
            "key": "ai_verify_loop",
            "band": "good",
            "name": "Verify loop (build / test / typecheck)",
            "note": null,
            "notes": [],
            "value": 75,
            "inputs": {
              "has_nix": false,
              "has_tests": true,
              "lockfiles": [
                "go.sum"
              ],
              "has_dockerfile": true,
              "typed_language": true,
              "bootstrap_files": [
                "deploy/kubernetes/operator/Makefile"
              ],
              "has_devcontainer": false,
              "has_linter_config": true,
              "typecheck_configs": [
                "dashboard/src/main/webapp/jsconfig.json"
              ],
              "agent_commit_share": 0.01,
              "toolchain_manifests": [
                "cli/pom.xml",
                "client-mr/core/pom.xml",
                "client-mr/hadoop2.8/pom.xml",
                "client-mr/hadoop3.2/pom.xml",
                "client-spark/common/pom.xml",
                "client-spark/extension/pom.xml",
                "client-spark/spark2-shaded/pom.xml",
                "client-spark/spark2/pom.xml",
                "client-spark/spark3-shaded/pom.xml",
                "client-spark/spark3/pom.xml",
                "client-spark/spark4-shaded/pom.xml",
                "client-spark/spark4/pom.xml",
                "client-tez/pom.xml",
                "client/pom.xml",
                "common/pom.xml",
                "coordinator/pom.xml",
                "dashboard/pom.xml",
                "deploy/kubernetes/operator/go.mod",
                "deploy/kubernetes/pom.xml",
                "integration-test/common/pom.xml",
                "integration-test/mr/pom.xml",
                "integration-test/spark-common/pom.xml",
                "integration-test/spark2/pom.xml",
                "integration-test/spark3/pom.xml",
                "integration-test/spark4/pom.xml",
                "integration-test/tez/pom.xml",
                "internal-client/pom.xml",
                "pom.xml",
                "proto/pom.xml",
                "server-common/pom.xml",
                "server/pom.xml",
                "storage/pom.xml",
                "tools/client-simulation-yarn/pom.xml"
              ],
              "dependency_bot_commit_share": 0
            },
            "components": [
              {
                "key": "one_command_bootstrap",
                "name": "One-command bootstrap",
                "detail": "deploy/kubernetes/operator/Makefile",
                "points": 18,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "deploy/kubernetes/operator/Makefile"
                    }
                  }
                ],
                "max_points": 18
              },
              {
                "key": "automated_tests",
                "name": "Automated tests",
                "detail": null,
                "points": 22,
                "status": "met",
                "details": [],
                "max_points": 22
              },
              {
                "key": "lint_format_config",
                "name": "Lint / format config",
                "detail": ".eslintrc.js",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": ".eslintrc.js"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "static_type_checking",
                "name": "Static type checking",
                "detail": "dashboard/src/main/webapp/jsconfig.json",
                "points": 11,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "dashboard/src/main/webapp/jsconfig.json"
                    }
                  }
                ],
                "max_points": 11
              },
              {
                "key": "reproducible_environment",
                "name": "Reproducible environment",
                "detail": "Dockerfile, lockfile",
                "points": 10,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "Dockerfile, lockfile"
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "demonstrated_agent_practice",
                "name": "Demonstrated agent practice",
                "detail": "1 of the last 100 commits agent-authored or agent-credited",
                "points": 2,
                "status": "partial",
                "details": [
                  {
                    "code": "agent_authored_commits",
                    "params": {
                      "count": 1,
                      "sampled": 100
                    }
                  }
                ],
                "max_points": 10
              },
              {
                "key": "automated_maintenance",
                "name": "Automated maintenance",
                "detail": "no automated dependency updates observed",
                "points": 0,
                "status": "missed",
                "details": [
                  {
                    "code": "no_dependency_automation",
                    "params": {}
                  }
                ],
                "max_points": 8
              },
              {
                "key": "openssf_scorecard_pinned_dependencies",
                "name": "OpenSSF Scorecard: Pinned-Dependencies",
                "detail": "dependency not pinned by hash detected -- score normalized to 1",
                "points": 1,
                "status": "partial",
                "details": [],
                "max_points": 10
              }
            ]
          },
          {
            "key": "ai_code_legibility",
            "band": "excellent",
            "name": "Code legibility for models",
            "note": null,
            "notes": [],
            "value": 100,
            "inputs": {
              "primary_language": "Java",
              "largest_source_bytes": 75572,
              "source_files_sampled": 1117,
              "oversized_source_files": 3
            },
            "components": [
              {
                "key": "type_checkable_code",
                "name": "Type-checkable code",
                "detail": "Java (statically typed)",
                "points": 45,
                "status": "met",
                "details": [
                  {
                    "code": "statically_typed_language",
                    "params": {
                      "language": "Java"
                    }
                  }
                ],
                "max_points": 45
              },
              {
                "key": "manageable_file_sizes",
                "name": "Manageable file sizes",
                "detail": "3/1117 source files over 60KB",
                "points": 54.9,
                "status": "partial",
                "details": [
                  {
                    "code": "oversized_source_files",
                    "params": {
                      "kb": 60,
                      "sampled": 1117,
                      "oversized": 3
                    }
                  }
                ],
                "max_points": 55
              }
            ]
          },
          {
            "key": "ai_interfaces",
            "band": "good",
            "name": "Machine-readable interfaces",
            "note": null,
            "notes": [],
            "value": 80,
            "inputs": {
              "example_dirs": [
                "examples",
                "samples"
              ],
              "has_mcp_signal": false,
              "api_schema_files": [
                "proto/src/main/proto/Rss.proto"
              ]
            },
            "components": [
              {
                "key": "api_schema_openapi_graphql_proto",
                "name": "API schema (OpenAPI/GraphQL/proto)",
                "detail": "proto/src/main/proto/Rss.proto",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "proto/src/main/proto/Rss.proto"
                    }
                  }
                ],
                "max_points": 40
              },
              {
                "key": "mcp_server",
                "name": "MCP server",
                "detail": null,
                "points": 0,
                "status": "missed",
                "details": [],
                "max_points": 20
              },
              {
                "key": "runnable_examples",
                "name": "Runnable examples",
                "detail": "examples, samples",
                "points": 40,
                "status": "met",
                "details": [
                  {
                    "code": "file_list",
                    "params": {
                      "files": "examples, samples"
                    }
                  }
                ],
                "max_points": 40
              }
            ]
          }
        ],
        "description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
      }
    ],
    "metrics_version": "1.13.0"
  },
  "warnings": [
    "Could not fetch maven package 'org.apache.uniffle:cli' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-proto' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-common' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:shuffle-server' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:shuffle-storage' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:dashboard' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client-tez' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client-mr' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-kubernetes' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:hadoop2.8-shim' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:hadoop3.2-shim' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client-spark-common' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client-spark2' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client-spark3' from its registry",
    "Could not fetch maven package 'org.apache.uniffle:rss-client-spark4' from its registry"
  ],
  "report_type": "repository",
  "generated_at": "2026-07-21T20:20:19.713585Z",
  "schema_version": "0.23.0",
  "badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/apache/uniffle.svg",
  "full_name": "apache/uniffle",
  "license_state": "standard",
  "license_spdx": "Apache-2.0"
}

Оцінки — це сигнали, а не гарантії. Вони відображають публічно видимі практики на GitHub — це не аудит коду й не гарантія безпеки.

Відсутні дані виключаються, а ваги перенормовуються — нуль за відсутність ніколи не ставиться. Методологія версіонована й відкрита: метрики v1.13.0, схема v0.23.0 — повна методологія · вікі метрик.

Як окремий результат виглядає на тлі всього реєстру: сукупна статистика.