Skip to content

Commit edc48a7

Browse files
pthirunclaude
andcommitted
Merge upstream/main, resolving conflicts
Resolved conflicts between the unclean leader election feature and upstream additions (previousCurrentVersion, blobDbEnabled). Kept both sets of changes, with PR schema versions (AdminOperation v96, StoreMetaValue v41). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2 parents edbc3fe + c7c55d9 commit edc48a7

323 files changed

Lines changed: 23203 additions & 5929 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/VeniceCI-E2ETests.yml

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2147,6 +2147,103 @@ jobs:
21472147
key: ${{ secrets.BUILDPULSE_ACCESS_KEY_ID }}
21482148
secret: ${{ secrets.BUILDPULSE_SECRET_ACCESS_KEY }}
21492149

2150+
IntegrationTests_23:
2151+
name: IntegrationTests_23
2152+
strategy:
2153+
fail-fast: false
2154+
runs-on: ubuntu-latest
2155+
permissions:
2156+
id-token: write
2157+
contents: read
2158+
checks: write
2159+
pull-requests: write
2160+
issues: write
2161+
timeout-minutes: 30
2162+
concurrency:
2163+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}-jdk17-IntegrationTests_23
2164+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
2165+
steps:
2166+
- uses: actions/checkout@v6
2167+
with:
2168+
fetch-depth: 0
2169+
- name: Set up JDK
2170+
uses: actions/setup-java@v5
2171+
with:
2172+
java-version: 17
2173+
distribution: 'temurin'
2174+
cache: 'gradle'
2175+
- shell: bash
2176+
run: |
2177+
git remote set-head origin --auto
2178+
git remote add upstream https://github.com/linkedin/venice
2179+
git fetch upstream
2180+
- name: Setup Gradle
2181+
uses: gradle/actions/setup-gradle@v4
2182+
with:
2183+
add-job-summary: never
2184+
- name: Free up disk space in the background
2185+
run: |
2186+
bash scripts/ci/util_free_space.sh > background_cleanup.log 2>&1 &
2187+
- name: Run Integration Tests
2188+
run: ./gradlew --continue --no-daemon -DforkEvery=1 -DmaxParallelForks=1 integrationTests_23
2189+
- name: Package Build Artifacts
2190+
if: always()
2191+
shell: bash
2192+
run: |
2193+
mkdir ${{ github.job }}-artifacts
2194+
echo "Repository owner: ${{ github.repository_owner }}"
2195+
echo "Repository name: ${{ github.repository }}"
2196+
echo "event name: ${{ github.event_name }}"
2197+
find . -path "**/build/reports/*" -or -path "**/build/test-results/*" > artifacts.list
2198+
find . -type f \( -name 'core.*' -o -name 'hs_err_pid*.log' \) -exec xz -9 {} \; -exec echo "{}.xz" \; >> artifacts.list
2199+
rsync -R --files-from=artifacts.list . ${{ github.job }}-artifacts
2200+
tar -zcvf ${{ github.job }}-jdk17-logs.tar.gz ${{ github.job }}-artifacts
2201+
- name: Generate Fork Repo Test Reports
2202+
if: ${{ (github.repository_owner != 'linkedin') && (success() || failure()) }}
2203+
uses: dorny/test-reporter@v1.9.1
2204+
env:
2205+
NODE_OPTIONS: --max-old-space-size=9182
2206+
with:
2207+
token: ${{ secrets.GITHUB_TOKEN }}
2208+
name: ${{ github.job }} Test Reports # Name where it report the test results
2209+
path: '**/TEST-*.xml'
2210+
fail-on-error: 'false'
2211+
max-annotations: '10'
2212+
list-tests: 'all'
2213+
list-suites: 'all'
2214+
reporter: java-junit
2215+
- name: Publish Test Report
2216+
continue-on-error: true
2217+
env:
2218+
NODE_OPTIONS: "--max_old_space_size=8192"
2219+
uses: mikepenz/action-junit-report@v5
2220+
if: always()
2221+
with:
2222+
check_name: ${{ github.job }}-jdk17 Report
2223+
comment: false
2224+
annotate_only: true
2225+
flaky_summary: true
2226+
commit: ${{github.event.workflow_run.head_sha}}
2227+
detailed_summary: true
2228+
report_paths: '**/build/test-results/test/TEST-*.xml'
2229+
- name: Upload Build Artifacts
2230+
if: always()
2231+
uses: actions/upload-artifact@v6
2232+
with:
2233+
name: ${{ github.job }}
2234+
path: ${{ github.job }}-jdk17-logs.tar.gz
2235+
retention-days: 30
2236+
- name: Upload test results to BuildPulse for flaky test detection
2237+
if: ${{ !cancelled() }}
2238+
uses: buildpulse/buildpulse-action@main
2239+
with:
2240+
account: 357098
2241+
repository: 349172057
2242+
path: |
2243+
**/TEST-*.xml
2244+
key: ${{ secrets.BUILDPULSE_ACCESS_KEY_ID }}
2245+
secret: ${{ secrets.BUILDPULSE_SECRET_ACCESS_KEY }}
2246+
21502247
integrationTests_99:
21512248
name: integrationTests_99
21522249
strategy:
@@ -2250,7 +2347,7 @@ jobs:
22502347
strategy:
22512348
fail-fast: false
22522349
runs-on: ubuntu-latest
2253-
needs: [IntegrationTests_1, IntegrationTests_2, IntegrationTests_3, IntegrationTests_4, IntegrationTests_5, IntegrationTests_6, IntegrationTests_7, IntegrationTests_8, IntegrationTests_9, IntegrationTests_10, IntegrationTests_11, IntegrationTests_12, IntegrationTests_13, IntegrationTests_14, IntegrationTests_15, IntegrationTests_16, IntegrationTests_17, IntegrationTests_18, IntegrationTests_19, IntegrationTests_20, IntegrationTests_21, IntegrationTests_22, integrationTests_99]
2350+
needs: [IntegrationTests_1, IntegrationTests_2, IntegrationTests_3, IntegrationTests_4, IntegrationTests_5, IntegrationTests_6, IntegrationTests_7, IntegrationTests_8, IntegrationTests_9, IntegrationTests_10, IntegrationTests_11, IntegrationTests_12, IntegrationTests_13, IntegrationTests_14, IntegrationTests_15, IntegrationTests_16, IntegrationTests_17, IntegrationTests_18, IntegrationTests_19, IntegrationTests_20, IntegrationTests_21, IntegrationTests_22, IntegrationTests_23, integrationTests_99]
22542351
timeout-minutes: 20
22552352
if: ${{ cancelled() || contains(needs.*.result, 'cancelled') || contains(needs.*.result, 'failure') }}
22562353
steps:

.github/workflows/deploy-docs.yml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Deploy Documentation
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
permissions:
8+
contents: read
9+
pages: write
10+
id-token: write
11+
12+
jobs:
13+
deploy:
14+
runs-on: ubuntu-latest
15+
environment:
16+
name: github-pages
17+
url: ${{ steps.deployment.outputs.page_url }}
18+
steps:
19+
- uses: actions/checkout@v4
20+
with:
21+
fetch-depth: 0
22+
- name: Configure Git Credentials
23+
run: |
24+
git remote set-head origin --auto
25+
git remote add upstream https://github.com/linkedin/venice
26+
git fetch upstream
27+
git config user.name github-actions[bot]
28+
git config user.email 41898282+github-actions[bot]@users.noreply.github.com
29+
- uses: actions/setup-python@v5
30+
with:
31+
python-version: 3.x
32+
- run: echo "cache_id=$(date --utc '+%V')" >> $GITHUB_ENV
33+
- uses: actions/cache@v4
34+
with:
35+
key: mkdocs-material-${{ env.cache_id }}
36+
path: ~/.cache
37+
restore-keys: |
38+
mkdocs-material-
39+
- run: pip install -r docs/doc-requirements.txt
40+
41+
- name: Setup Gradle
42+
uses: gradle/actions/setup-gradle@v4
43+
44+
- name: Validate Gradle wrapper
45+
uses: gradle/actions/wrapper-validation@v3
46+
47+
- name: Generate Javadoc
48+
run: ./gradlew aggregateJavadoc
49+
50+
- name: Copy Javadoc
51+
run: |
52+
mkdir -p docs/javadoc
53+
cp -r build/javadoc/* docs/javadoc/
54+
55+
- name: Build MkDocs site
56+
run: mkdocs build
57+
58+
- name: Upload Pages artifact
59+
uses: actions/upload-pages-artifact@v3
60+
with:
61+
path: ./site
62+
63+
- name: Deploy to GitHub Pages
64+
uses: actions/deploy-pages@v4
65+
id: deployment

.github/workflows/publish-javadoc.yml

Lines changed: 0 additions & 40 deletions
This file was deleted.

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
.shelf/
1919
out/
2020
build/
21+
site/
2122
internal/venice-test-common/tmp/
2223
internal/venice-test-common/dump.complete.hprof
2324
internal/venice-test-common/src/jmh/generated

build.gradle

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -635,6 +635,12 @@ spotless {
635635
target '**/src/**/*.java'
636636
targetExclude '**/generated/**'
637637
}
638+
format 'markdown', {
639+
target '**/*.md'
640+
targetExclude '**/build/**', '**/target/**', '**/.gradle/**'
641+
prettier(['prettier': '2.8.8', 'prettier-plugin-java': '2.2.0'])
642+
.config(['proseWrap': 'always', 'printWidth': 120])
643+
}
638644
}
639645

640646
task setupWorkspace {
@@ -760,6 +766,8 @@ ext.createDiffFile = { ->
760766

761767
// venice-client
762768
':!clients/venice-client/src/main/java/com/linkedin/venice/fastclient/factory/ClientFactory.java',
769+
// CLI tool requiring real D2/ZK infrastructure to test
770+
':!clients/venice-client/src/main/java/com/linkedin/venice/fastclient/FastClientQueryTool.java',
763771
// unit test for gRPC Transport Client is not straightforward, adding to exclusion list for now
764772
':!clients/venice-client/src/main/java/com/linkedin/venice/fastclient/transport/GrpcTransportClient.java',
765773
// unit test for deprecated DispatchingVsonStoreClient is not meaningful since most logic is in its parent class
@@ -771,6 +779,8 @@ ext.createDiffFile = { ->
771779

772780
// venice-common
773781
':!internal/venice-common/src/main/java/com/linkedin/venice/controllerapi/ControllerClient.java',
782+
// D2 utility requiring real ZooKeeper to test
783+
':!internal/venice-common/src/main/java/com/linkedin/venice/d2/D2ConfigUtils.java',
774784
':!internal/venice-common/src/main/java/com/linkedin/venice/acl/handler/StoreAclHandler.java',
775785

776786
// venice-client-common

clients/da-vinci-client/src/main/java/com/linkedin/davinci/blobtransfer/BlobTransferManager.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,6 @@ CompletionStage<? extends InputStream> get(
6060
* @return the blob transfer stats
6161
*/
6262
AggVersionedBlobTransferStats getAggVersionedBlobTransferStats();
63+
64+
BlobTransferStatusTrackingManager getTransferStatusTrackingManager();
6365
}

0 commit comments

Comments
 (0)