Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade oracle test version #24505

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

chenjian2664
Copy link
Contributor

Description

Additional context and related issues

Release notes

(x) This is not user-visible or is docs only, and no release notes are required.
( ) Release notes are required. Please propose a release note for me.
( ) Release notes are required, with the following suggested text:

## Section
* Fix some things. ({issue}`issuenumber`)

@ebyhr
Copy link
Member

ebyhr commented Dec 17, 2024

Oracle test failed:


System.IO.IOException: No space left on device : '/home/runner/runners/2.321.0/_diag/Worker_20241217-102814-utc.log'
   at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.Diagnostics.TextWriterTraceListener.Flush()
   at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id)
   at GitHub.Runner.Common.HostTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
   at GitHub.Runner.Worker.Worker.RunAsync(String pipeIn, String pipeOut)
   at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args)
System.IO.IOException: No space left on device : '/home/runner/runners/2.321.0/_diag/Worker_20241217-102814-utc.log'
   at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.Diagnostics.TextWriterTraceListener.Flush()
   at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id)
   at GitHub.Runner.Common.HostTraceListener.TraceEvent(TraceEventCache eventCache, String source, TraceEventType eventType, Int32 id, String message)
   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
   at GitHub.Runner.Common.Tracing.Error(Exception exception)
   at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args)
Unhandled exception. System.IO.IOException: No space left on device : '/home/runner/runners/2.321.0/_diag/Worker_20241217-102814-utc.log'
   at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.Diagnostics.TextWriterTraceListener.Flush()
   at System.Diagnostics.TraceSource.Flush()
   at GitHub.Runner.Common.Tracing.Dispose(Boolean disposing)
   at GitHub.Runner.Common.Tracing.Dispose()
   at GitHub.Runner.Common.TraceManager.Dispose(Boolean disposing)
   at GitHub.Runner.Common.TraceManager.Dispose()
   at GitHub.Runner.Common.HostContext.Dispose(Boolean disposing)
   at GitHub.Runner.Common.HostContext.Dispose()
   at GitHub.Runner.Worker.Program.Main(String[] args)

@chenjian2664 chenjian2664 marked this pull request as draft December 17, 2024 10:48
@chenjian2664 chenjian2664 force-pushed the up_oracle branch 5 times, most recently from d4b697e to 2051b06 Compare December 18, 2024 06:34
@chenjian2664 chenjian2664 marked this pull request as ready for review December 18, 2024 06:57
Copy link
Member

@hashhar hashhar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM % comment

ebyhr
ebyhr previously approved these changes Dec 20, 2024
@chenjian2664 chenjian2664 force-pushed the up_oracle branch 2 times, most recently from 4cdd6b5 to db92378 Compare December 20, 2024 02:04
@chenjian2664
Copy link
Contributor Author

System.IO.IOException: No space left on device : '/home/runner/runners/2.321.0/_diag/Worker_20241220-020607-utc.log'
   at System.IO.RandomAccess.WriteAtOffset(SafeFileHandle handle, ReadOnlySpan`1 buffer, Int64 fileOffset)
   at System.IO.Strategies.OSFileStreamStrategy.Write(ReadOnlySpan`1 buffer)
   at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder)
   at System.Diagnostics.TextWriterTraceListener.Flush()
   at GitHub.Runner.Common.HostTraceListener.WriteHeader(String source, TraceEventType eventType, Int32 id)
   at System.Diagnostics.TraceSource.TraceEvent(TraceEventType eventType, Int32 id, String message)
   at GitHub.Runner.Common.Tracing.Error(String message)
   at GitHub.Runner.Worker.JobRunner.ShutdownQueue(Boolean throwOnFailure)
   at GitHub.Runner.Worker.JobRunner.RunAsync(AgentJobRequestMessage message, CancellationToken jobRequestCancellationToken)
   at GitHub.Runner.Worker.Worker.RunAsync(String pipeIn, String pipeOut)
   at GitHub.Runner.Worker.Program.MainAsync(IHostContext context, String[] args)

@ebyhr
Copy link
Member

ebyhr commented Dec 20, 2024

Please run stress tests by removing unnecessary jobs and duplicating Oracle job in ci.yml.

@chenjian2664
Copy link
Contributor Author

Failed request: (409) Conflict: an artifact with this name already exists on the workflow run

@ebyhr
Copy link
Member

ebyhr commented Dec 24, 2024

Could you rebase on master to resolve conflicts?

@chenjian2664 chenjian2664 force-pushed the up_oracle branch 2 times, most recently from 7543512 to 2d3f891 Compare January 15, 2025 06:39
@chenjian2664
Copy link
Contributor Author

chenjian2664 commented Jan 15, 2025

@ebyhr @hashhar , I’d like your suggestions on how to minimize the logs during testing.

To clarify, since I run multiple Oracle tests, only one test is expected to succeed, while the others encounter ...artifact with this name already exists on the workflow run (this steps is encountered on the upload test result phrase). I treat this situation as a success, (and you can see in the result), and I treat No space left as a failure.

Currently, I’m using a Linux pipe to filter logs and only capture ERROR messages. This approach works and can report the correct error message for debug. But, I’m wondering if there’s a more natural or elegant way to handle this.

run: |
if [ "${{ matrix.modules }}" == "plugin/trino-oracle" ]; then
echo "Running tests for oracle..."
$MAVEN test ${MAVEN_TEST} -pl ${{ matrix.modules }} ${{ matrix.profile != '' && format('-P {0}', matrix.profile) || '' }} 2>&1 | grep "ERROR" || true
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For reference, Here is the logic to filter only ERROR logs

Copy link

github-actions bot commented Feb 6, 2025

This pull request has gone a while without any activity. Tagging for triage help: @mosabua

@github-actions github-actions bot added the stale label Feb 6, 2025
@wendigo
Copy link
Contributor

wendigo commented Feb 6, 2025

We should get this in @ebyhr @hashhar

@wendigo wendigo added stale-ignore Use this label on PRs that should be ignored by the stale bot so they are not flagged or closed. and removed stale labels Feb 6, 2025
@mosabua
Copy link
Member

mosabua commented Feb 6, 2025

If 18 is the highest version we test with .. we have to update the requirements section in the docs to 18 ..

@wendigo
Copy link
Contributor

wendigo commented Feb 7, 2025

@mosabua agreed

@wendigo
Copy link
Contributor

wendigo commented Feb 7, 2025

(rebased & solved conflict)

@github-actions github-actions bot added the oracle Oracle connector label Feb 7, 2025
@wendigo
Copy link
Contributor

wendigo commented Feb 7, 2025

@mosabua:

To connect to Oracle, you need:

  • Oracle 19 or higher.

Copy link
Member

@mosabua mosabua left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good to go from my perspective.. any concerns with merging @wendigo and @ebyhr ?

Copy link
Member

@ebyhr ebyhr left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@chenjian2664 Is this PR ready for merge? How was the stress test result?

else
echo "Running tests for ${{ matrix.modules }}..."
$MAVEN test ${MAVEN_TEST} -pl ${{ matrix.modules }} ${{ matrix.profile != '' && format('-P {0}', matrix.profile) || '' }}
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we revert this change?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ebyhr Let me do more round tests

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ebyhr this change is for reduce the logs of the oracle tests, which is required of this pr.

Could you please see the stress test results? I just triggle tests of oracle, there is one successful and others failed at uploading the test result phrase.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this change is for reduce the logs of the oracle tests, which is required of this pr.

Oh, I thought it's just for stress tests. Is it difficult to reduce logs within Oralce tests instead of ci.yml?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a question actually I also want to ask...
cc @wendigo @hashhar do you happen to have any idea how to let the whole test only log of error level

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which loggers are chatty?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I take 2 log in current oracle(version 11) logs, it's suspicious:

  1. 2025-02-11T21:35:00.494-0600 DEBUG SplitRunner-20250212_033459_00205_dxdmg.1.1.0-2-4910 oracle.jdbc {0} bytes written to the Socket. parameters=[8192] Its frequency
  2. 2025-02-11T21:35:00.499-0600 INFO SplitRunner-20250212_033459_00205_dxdmg.1.1.0-2-4910 oracle.jdbc properties={0}. parameters=[{LOCALE=en_US, DriverVersion=23.3.0.23.09, java.library.path: =/usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib, java.class.path: =/home/runner/work/trino/trino/plugin/trino-oracle/target/test-classes:/home/runner/work/trino/trino/plugin/trino-oracle/target/classes:/home/runner/.m2/repository/com/google/guava/guava/33.4.0-jre/guava-33.4.0-jre.jar:/home/runner/.m2/repository/com/google/guava/failureaccess/1.0.2/failureaccess-1.0.2.jar:/home/runner/.m2/repository/com/google/code/findbugs/jsr305/3.0.2/jsr305-3.0.2.jar:/home/runner/.m2/repository/org/checkerframework/checker-qual/3.49.0/checker-qual-3.49.0.jar:/home/runner/.m2/repository/com/google/j2objc/j2objc-annotations/3.0.0/j2objc-annotations-3.0.0.jar:/home/runner/.m2/repository/com/google/inject/guice/7.0.0/guice-7.0.0.jar:/home/runner/.m2/repository/jakarta/inject/jakarta.inject-api/2.0.1/jakarta.inject-api-2.0.1.jar:/home/runner/.m2/repository/aopalliance/aopalliance/... It's not that frequency like first one, but it's body more than 30k characters.

18 image is much larger than 11, thus is there is no enough remain space for logging so much content

Copy link
Contributor Author

@chenjian2664 chenjian2664 Feb 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@wendigo Just in case you wanna see the failure about No space left, may run multi oracle tests together, like stress test do, single run may not hit the failure sometimes.

@chenjian2664 chenjian2664 force-pushed the up_oracle branch 3 times, most recently from ad9681d to cf16f4e Compare February 13, 2025 08:00
@wendigo wendigo force-pushed the up_oracle branch 2 times, most recently from f3076ea to 55a8dce Compare February 13, 2025 11:30
@chenjian2664
Copy link
Contributor Author

I see there still lots of logs like 2025-02-13T07:42:10.607-0600 DEBUG SplitRunner-20250213_134210_00058_2kpwq.2.0.0-1-1021 oracle.jdbc {0} bytes parameters=[8111]
@wendigo Are we ready to fire a stress test now?

@ebyhr ebyhr removed the stale-ignore Use this label on PRs that should be ignored by the stale bot so they are not flagged or closed. label Feb 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla-signed oracle Oracle connector
Development

Successfully merging this pull request may close these issues.

5 participants