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

Add TCP keepalive and TCP keepalive time configurations #1874

Conversation

Projects
None yet
2 participants
@koic
Copy link
Collaborator

commented May 16, 2019

Summary

Related with #1489.

In Active Record Oracle enhanced adapter 5.2, an Oracle error occurs when TCP keepalive time exceeds 600 seconds.

The following ORA-03113 error occurred every 10 minutes when I tried to upgrade from Rails 5.1.6.1 (activerecord-oracle_enhanced-adapter 1.8.2) to Rails 5.2.2 (activerecord-oracle_enhanced-adapter 5.2.5).

stmt.c:243:in oci8lib_240.so: OCIError: ORA-03113: 通信チャネルでend-of-fileが検出されました (ActiveRecord::StatementInvalid)プロセスID: 24578

I think that TCP Keepalive parameters depend on an application purpose.
Therefore this PR allows users to change TCP keepalive parameters.

The default behavior has not changed from Active Record Oracle enhanced adapter 5.2 so that breaking changes don't occur.

Other Information

TCP keepalive parameter names conform to ruby-oci8.
http://www.rubydoc.info/github/kubo/ruby-oci8/file/docs/hanging-after-inactivity.md

Add TCP keepalive and TCP keepalive time configurations
## Summary

Related with #1489.

In Active Record Oracle enhanced adapter 5.2, an Oracle error occurs
when TCP keepalive time exceeds 600 seconds.

The following ORA-03113 error occurred every 10 minutes when I tried to
upgrade from Rails 5.1.6.1 (activerecord-oracle_enhanced-adapter 1.8.2)
to Rails 5.2.2 (activerecord-oracle_enhanced-adapter 5.2.5).

```console
stmt.c:243:in oci8lib_240.so: OCIError: ORA-03113: 通信チャネルで
end-of-fileが検出されました (ActiveRecord::StatementInvalid)
プロセスID: 24578
```

I think that TCP Keepalive parameters depend on an application purpose.
Therefore this PR allows users to change TCP keepalive parameters.

The default behavior has not changed from Active Record Oracle enhanced adapter 5.2
so that breaking changes don't occur.

### Other Information

TCP keepalive parameter names conform to ruby-oci8.
http://www.rubydoc.info/github/kubo/ruby-oci8/file/docs/hanging-after-inactivity.md

@koic koic force-pushed the koic:add_tcp_keepalive_time_configuration__backport_release52 branch from 15dd31e to 649f20c May 16, 2019

@yahonda

This comment has been minimized.

Copy link
Collaborator

commented May 16, 2019

Failure with jruby-head is unrelated with this pull request, then opened #1875.

@yahonda yahonda merged commit 5681f64 into rsim:master May 16, 2019

1 of 2 checks passed

continuous-integration/travis-ci/pr The Travis CI build could not complete due to an error
Details
codeclimate All good!
Details

@koic koic deleted the koic:add_tcp_keepalive_time_configuration__backport_release52 branch May 16, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.