Skip to content

Commit

Permalink
PhaseAggressiveCoalesce::coalesce triage
Browse files Browse the repository at this point in the history
Demonstrates #2038
  • Loading branch information
devinrsmith committed May 25, 2022
1 parent a91d482 commit 2fcf8e2
Show file tree
Hide file tree
Showing 3 changed files with 88 additions and 25 deletions.
95 changes: 78 additions & 17 deletions .github/workflows/nightly-check-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
fail-fast: false
matrix:
gradle-task: ['check', 'testSerial', 'testParallel', 'testOutOfBand']
gradle-task: ['engine-table:testOutOfBand --tests io.deephaven.engine.table.impl.QueryTableAggregationTest.testMedianByIncremental']
test-jvm-version: ['11', '17', '18']
if: ${{ github.repository_owner == 'deephaven' || github.event_name != 'schedule' }}
runs-on: ubuntu-20.04
Expand Down Expand Up @@ -53,18 +53,91 @@ jobs:
echo "org.gradle.java.installations.paths=${{ steps.setup-java-11.outputs.path }},${{ steps.setup-java-17.outputs.path }},${{ steps.setup-java-18.outputs.path }}," >> gradle.properties
cat gradle.properties
- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }}
- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 1
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue --rerun-tasks ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 2
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 3
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 4
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 5
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 6
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 7
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --scan --continue --rerun-tasks ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 8
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 9
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Run gradle ${{ matrix.gradle-task }} on java ${{ matrix.test-jvm-version }} 10
uses: burrunan/gradle-cache-action@v1
if: always()
with:
job-id: gradle-run
arguments: --continue -PforceTest=true ${{ matrix.gradle-task }} -PtestRuntimeVersion=${{ matrix.test-jvm-version }}
gradle-version: wrapper

- name: Upload Test Results
uses: actions/upload-artifact@v3
if: always()
with:
name: nightly-${{ matrix.gradle-task }}-java${{ matrix.test-jvm-version }}-ci-results
name: nightly-java${{ matrix.test-jvm-version }}-ci-results
path: |
**/build/test-results/*/TEST-*.xml
**/build/reports/tests/**
Expand All @@ -73,7 +146,7 @@ jobs:
uses: actions/upload-artifact@v3
if: failure()
with:
name: nightly-${{ matrix.gradle-task }}-java${{ matrix.test-jvm-version }}-ci-jvm-err
name: nightly-java${{ matrix.test-jvm-version }}-ci-jvm-err
path: |
**/*_pid*.log
**/core.*
Expand All @@ -89,15 +162,3 @@ jobs:
check_name: check report ${{ matrix.gradle-task }} java${{ matrix.test-jvm-version }}
github_token: ${{ secrets.GITHUB_TOKEN }}
report_paths: '**/build/test-results/*/TEST-*.xml'

- name: Slack Nightly Failure
uses: slackapi/slack-github-action@v1.18.0
id: slack-nightly-failure
if: ${{ failure() && github.repository_owner == 'deephaven' }}
with:
payload: |
{
"slack_message": "Nightly build failure in ${{ matrix.gradle-task }} on Java ${{ matrix.test-jvm-version }} @ ${{ github.head_ref }} ${{ github.sha }}"
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_NIGHTLY_FAILURE }}
Original file line number Diff line number Diff line change
Expand Up @@ -143,24 +143,26 @@ def c2ExcludesJvmArgs = { String c2ExcludesFile ->

// Utility to add jvm args to all executions, whether intellij or from a application script or gradle javaexec
def devJvmArgs = [
// '-XX:Tier4CompileThreshold=1000', // this optional line makes it easier to trigger the c2 error on the above methods
'-XX:Tier4CompileThreshold=1000', // this optional line makes it easier to trigger the c2 error on the above methods
// '-XX:+PrintFlagsFinal', // this optional line makes it easier to explore the final values for compiler args
// '-XX:+PrintCompilation', // this optional line shows jit operations as they happen
]

tasks.withType(JavaExec).configureEach {
def c2ExcludesFile = createCompilerDirectives.get().outputs.files
inputs.files c2ExcludesFile
// def c2ExcludesFile = createCompilerDirectives.get().outputs.files
// inputs.files c2ExcludesFile
javaLauncher.set runtimeLauncher
jvmArgs += c2ExcludesJvmArgs(c2ExcludesFile.singleFile.path) + devJvmArgs
// jvmArgs += c2ExcludesJvmArgs(c2ExcludesFile.singleFile.path) + devJvmArgs
jvmArgs += devJvmArgs
}

tasks.withType(Test).configureEach {
def c2ExcludesFile = createCompilerDirectives.get().outputs.files
inputs.files c2ExcludesFile
// def c2ExcludesFile = createCompilerDirectives.get().outputs.files
// inputs.files c2ExcludesFile

javaLauncher.set testRuntimeLauncher
jvmArgs += c2ExcludesJvmArgs(c2ExcludesFile.singleFile.path) + devJvmArgs
// jvmArgs += c2ExcludesJvmArgs(c2ExcludesFile.singleFile.path) + devJvmArgs
jvmArgs += devJvmArgs
}

tasks.withType(GroovyCompile).configureEach {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2445,7 +2445,7 @@ public Table e() {

@Test
public void testMedianByIncremental() {
final int[] sizes = {10, 50, 200};
final int[] sizes = {10, 50, 200, 1000, 2000, 10000};
for (int size : sizes) {
testMedianByIncremental(size);
}
Expand Down

0 comments on commit 2fcf8e2

Please sign in to comment.