Skip to content

Commit bc2f715

Browse files
lshoagleyzer10thegridmanchpatel3rlubke
authored
Support .net 6 (#22)
* Upgrade to Java 17 * Update build to run on ubuntu-20.04 * Create build_spec.yaml * Update README.md, CONTRIBUTING.md, SECURITY.md according to the guidelines in template. (#14) * correct link to Coherence CE readme file. (#15) * Fix intermittent failure: Tangosol.net.cache.cache.TestShouldInterruptWithGetCache (#17) * fix CacheTimeoutTest.cs * fix path * Modify build to capture server log upon error (#19) * BUG 35023368 - CQC clients deadlock between ObservableHashMap and ContinuousQueryCache.ensureSynchronized (#20) [git-p4: depot-paths = "//dev/main.net/": change = 98220] * cleaned up dependency to support .NET 6 --------- Co-authored-by: Alex Gleyzer <[email protected]> Co-authored-by: Jonathan Knight <[email protected]> Co-authored-by: Chinmay Patel <[email protected]> Co-authored-by: Ryan Lubke <[email protected]>
1 parent 48ae33a commit bc2f715

File tree

9 files changed

+120
-52
lines changed

9 files changed

+120
-52
lines changed

.github/workflows/build.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ jobs:
3232
strategy:
3333
fail-fast: false
3434
matrix:
35-
os: [ubuntu-latest, windows-latest, macOS-latest]
35+
os: [ubuntu-20.04, windows-latest, macOS-latest]
3636

3737
steps:
3838
- name: Checkout
@@ -51,7 +51,7 @@ jobs:
5151
test-linux:
5252
name: Test on Linux against Coherence ${{ matrix.coherence_version }}
5353
needs: build
54-
runs-on: ubuntu-latest
54+
runs-on: ubuntu-20.04
5555
strategy:
5656
fail-fast: false
5757
matrix:
@@ -104,3 +104,11 @@ jobs:
104104
# Run Tests
105105
- name: Run Tests
106106
run: dotnet test --configuration Release --no-restore
107+
108+
# Capture server log for diagnosing failures
109+
- name: Capture test logs
110+
uses: actions/upload-artifact@v2
111+
if: failure()
112+
with:
113+
name: build-output
114+
path: build\**\*.log

CONTRIBUTING.md

Lines changed: 44 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,68 @@
11
<!--
22
3-
Copyright (c) 2000, 2020, Oracle and/or its affiliates.
3+
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
44
55
Licensed under the Universal Permissive License v 1.0 as shown at
6-
http://oss.oracle.com/licenses/upl.
6+
https://oss.oracle.com/licenses/upl.
77
88
-->
9-
# Contributing to Coherence
9+
# Contributing to this repository
1010

11-
Oracle welcomes contributions to this repository from anyone.
11+
We welcome your contributions! There are multiple ways to contribute.
1212

13-
If you want to submit a pull request to fix a bug or enhance an existing
14-
feature, please first open an issue and link to that issue when you
15-
submit your pull request.
13+
## Opening issues
1614

17-
If you have any questions about a possible submission, feel free to open
18-
an issue too.
15+
For bugs or enhancement requests, please file a GitHub issue unless it's
16+
security related. When filing a bug remember that the better written the bug is,
17+
the more likely it is to be fixed. If you think you've found a security
18+
vulnerability, do not raise a GitHub issue and follow the instructions in our
19+
[security policy](./SECURITY.md).
1920

20-
## Contributing to the Oracle Coherence Community Edition repository
21+
## Contributing code
2122

22-
Pull requests can be made under
23-
[The Oracle Contributor Agreement](https://www.oracle.com/technetwork/community/oca-486395.html) (OCA).
23+
We welcome your code contributions. Before submitting code via a pull request,
24+
you will need to have signed the [Oracle Contributor Agreement][OCA] (OCA) and
25+
your commits need to include the following line using the name and e-mail
26+
address you used to sign the OCA:
2427

25-
For pull requests to be accepted, the bottom of your commit message must have
26-
the following line using your name and e-mail address as it appears in the
27-
OCA Signatories list.
28-
29-
```
28+
```text
3029
Signed-off-by: Your Name <[email protected]>
3130
```
3231

33-
This can be automatically added to pull requests by committing with:
32+
This can be automatically added to pull requests by committing with `--sign-off`
33+
or `-s`, e.g.
3434

35-
```
36-
git commit --signoff
35+
```text
36+
git commit --signoff
3737
```
3838

39-
Only pull requests from committers that can be verified as having
40-
signed the OCA can be accepted.
39+
Only pull requests from committers that can be verified as having signed the OCA
40+
can be accepted.
4141

42-
### Pull request process
42+
## Pull request process
4343

44-
1. Fork this repository
44+
1. Ensure there is an issue created to track and discuss the fix or enhancement
45+
you intend to submit.
46+
1. Fork this repository.
4547
1. Create a branch in your fork to implement the changes. We recommend using
46-
the issue number as part of your branch name, e.g. `1234-fixes`
47-
1. Ensure that all changes comply to project coding conventions as documented [here](DEV-GUIDELINES.md)
48+
the issue number as part of your branch name, e.g. `1234-fixes`.
49+
1. Ensure that any documentation is updated with the changes that are required
50+
by your change.
51+
1. Ensure that any samples are updated if the base image has been changed.
52+
1. Ensure that all changes comply to project coding conventions as documented
53+
[here](DEV-GUIDELINES.md)
4854
1. Ensure that there is at least one test that would fail without the fix and
49-
passes post fix
50-
1. A full build including test execution is required for the PR
55+
passes post fix.
5156
1. Submit the pull request. *Do not leave the pull request blank*. Explain exactly
52-
what your changes are meant to do and provide simple steps on how to validate
53-
your changes, ideally referencing the test. Ensure that you reference the issue
54-
you created as well. We will assign the pull request to 2-3 people for review
55-
before it is submitted internally and the PR is closed.
57+
what your changes are meant to do and provide simple steps on how to validate
58+
your changes. Ensure that you reference the issue you created as well.
59+
1. We will assign the pull request to 2-3 people for review before it is submitted
60+
internally and the PR is closed.
61+
62+
## Code of conduct
63+
64+
Follow the [Golden Rule](https://en.wikipedia.org/wiki/Golden_Rule). If you'd
65+
like more specific guidelines, see the [Contributor Covenant Code of Conduct][COC].
5666

67+
[OCA]: https://oca.opensource.oracle.com
68+
[COC]: https://www.contributor-covenant.org/version/1/4/code-of-conduct/

README.md

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
<!--
22
3-
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
3+
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
44
55
Licensed under the Universal Permissive License v 1.0 as shown at
6-
http://oss.oracle.com/licenses/upl.
6+
https://oss.oracle.com/licenses/upl.
77
88
-->
99

@@ -53,7 +53,7 @@ distributed applications.
5353

5454
# <a name="acquire"></a>How to Get Coherence Community Edition
5555

56-
For more details on how to obtain and use Coherence, please see the Coherence CE [README](https://github.com/oracle/coherence/README.md).
56+
For more details on how to obtain and use Coherence, please see the Coherence CE [README](https://github.com/oracle/coherence/tree/master/README.md).
5757

5858
# <a name="intro_extend"></a>Introduction to Coherence for .NET
5959

@@ -164,7 +164,7 @@ dotnet new console -name "HelloCoherence"
164164
1. Add the following references to the HelloCoherence.csproj (provide the Coherence.Core.dll location in the `<HintPath>`):
165165
```
166166
<ItemGroup>
167-
<Reference Include="Coherence.Core, Version=14.1.1.10, Culture=neutral, PublicKeyToken=0ada89708fdf1f9a, processorArchitecture=MSIL">
167+
<Reference Include="Coherence.Core, Version=14.1.1.13, Culture=neutral, PublicKeyToken=0ada89708fdf1f9a, processorArchitecture=MSIL">
168168
<HintPath>Coherence.Core.dll</HintPath>
169169
</Reference>
170170
<PackageReference Include="Common.Logging" Version="3.4.1" />
@@ -441,3 +441,6 @@ For further details on developing Coherence for .NET applications, see the docum
441441

442442
Interested in contributing? Please see our contribution [guidelines](CONTRIBUTING.md) for details.
443443

444+
# Security
445+
446+
Please consult the [security guide](./SECURITY.md) for our responsible security vulnerability disclosure process

SECURITY.md

Lines changed: 38 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,46 @@
1-
# Reporting Security Vulnerabilities
1+
<!--
2+
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
23
3-
Oracle values the independent security research community and believes that responsible disclosure of security vulnerabilities helps us ensure the security and privacy of all our users.
4+
Licensed under the Universal Permissive License v 1.0 as shown at
5+
https://oss.oracle.com/licenses/upl.
6+
-->
47

5-
Please do NOT raise a GitHub Issue to report a security vulnerability. If you believe you have found a security vulnerability, please submit a report to [email protected] preferably with a proof of concept. We provide additional information on [how to report security vulnerabilities to Oracle](https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html) which includes public encryption keys for secure email.
8+
-----
9+
# Reporting security vulnerabilities
610

7-
We ask that you do not use other channels or contact project contributors directly.
11+
Oracle values the independent security research community and believes that
12+
responsible disclosure of security vulnerabilities helps us ensure the security
13+
and privacy of all our users.
814

9-
Non-vulnerability related security issues such as great new ideas for security features are welcome on GitHub Issues.
15+
Please do NOT raise a GitHub Issue to report a security vulnerability. If you
16+
believe you have found a security vulnerability, please submit a report to
17+
[[email protected]][1] preferably with a proof of concept. Please review
18+
some additional information on [how to report security vulnerabilities to Oracle][2].
19+
We encourage people who contact Oracle Security to use email encryption using
20+
[our encryption key][3].
1021

11-
## Security Updates, Alerts and Bulletins
22+
We ask that you do not use other channels or contact the project maintainers
23+
directly.
1224

13-
Security updates will be released on a regular cadence. Many of our projects will typically release security fixes in conjunction with the [Oracle Critical Patch Update](https://www.oracle.com/security-alerts/) program. Security updates are released on the Tuesday closest to the 17th day of January, April, July and October. A pre-release announcement will be published on the Thursday preceding each release. Additional information, including past advisories, is available on our [Security Alerts](https://www.oracle.com/security-alerts/) page.
25+
Non-vulnerability related security issues including ideas for new or improved
26+
security features are welcome on GitHub Issues.
1427

15-
## Security-Related Information
28+
## Security updates, alerts and bulletins
1629

17-
We will provide security related information such as a threat model, considerations for secure use, or any known security issues in our documentation. Please note that labs and sample code are intended to demonstrate a concept and may not be sufficiently hardened for production use.
30+
Security updates will be released on a regular cadence. Many of our projects
31+
will typically release security fixes in conjunction with the
32+
[Oracle Critical Patch Update][3] program. Additional
33+
information, including past advisories, is available on our [security alerts][4]
34+
page.
35+
36+
## Security-related information
37+
38+
We will provide security related information such as a threat model, considerations
39+
for secure use, or any known security issues in our documentation. Please note
40+
that labs and sample code are intended to demonstrate a concept and may not be
41+
sufficiently hardened for production use.
42+
43+
[1]: mailto:[email protected]
44+
[2]: https://www.oracle.com/corporate/security-practices/assurance/vulnerability/reporting.html
45+
[3]: https://www.oracle.com/security-alerts/encryptionkey.html
46+
[4]: https://www.oracle.com/security-alerts/

build_spec.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Copyright (c) 2022, 2023, Oracle and/or its affiliates.
2+
3+
version: 0.1
4+
component: build
5+
timeoutInSeconds: 1000
6+
shell: bash
7+
8+
steps:
9+
- type: Command
10+
name: "compress the repo"
11+
command: |
12+
tar -cvzf ${OCI_WORKSPACE_DIR}/repo.tgz ./
13+
outputArtifacts:
14+
- name: artifact
15+
type: BINARY
16+
location: ${OCI_WORKSPACE_DIR}/repo.tgz

src/Coherence.Core/Coherence.Core.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
<!-- AssemblyInfo metadata -->
2222
<PropertyGroup>
23-
<VersionPrefix Condition="'$(VersionPrefix)' == ''">14.1.1.10</VersionPrefix>
23+
<VersionPrefix Condition="'$(VersionPrefix)' == ''">14.1.1.13</VersionPrefix>
2424
<Version Condition=" '$(VersionSuffix)' != '' ">$(VersionPrefix)-$(VersionSuffix)</Version>
2525
<Version Condition=" '$(Version)' == '' ">$(VersionPrefix)</Version>
2626
<AssemblyVersion>$(VersionPrefix)</AssemblyVersion>

src/Coherence.Core/IO/Resources/ResourceLoader.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
*/
77
using System;
88
using System.Reflection;
9-
using System.Web;
109

1110
namespace Tangosol.IO.Resources
1211
{

tests/Coherence.Core.Tests/Net/Cache/CacheTimeoutTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ public void TestShouldInterruptWithGetCache()
4141
{
4242
try
4343
{
44-
using (ThreadTimeout t = ThreadTimeout.After(200))
44+
using (ThreadTimeout t = ThreadTimeout.After(100))
4545
{
4646
INamedCache cache = GetCache("dist-timeout");
4747
for (int i = 0; i < 1000; i++)
@@ -53,16 +53,16 @@ public void TestShouldInterruptWithGetCache()
5353
Assert.Fail("CacheFactory.GetCache should be interrupted!");
5454
}
5555
}
56-
catch (Exception e)
56+
catch (ThreadInterruptedException)
5757
{
5858
CacheFactory.Shutdown();
59-
Assert.IsTrue(e is ThreadInterruptedException);
6059
}
6160

6261
Assert.AreEqual(ThreadTimeout.RemainingTimeoutMillis, Int32.MaxValue);
6362

6463
try
6564
{
65+
IConfigurableCacheFactory ccf = CacheFactory.ConfigurableCacheFactory;
6666
using (ThreadTimeout t = ThreadTimeout.After(40000))
6767
{
6868
INamedCache cache = GetCache("dist-timeout");

tests/test-server/pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@
5151
<arguments>
5252
<argument>-classpath</argument>
5353
<classpath/>
54+
<argument>-Dcoherence.log=..\..\build\DefaultCacheServer.log</argument>
5455
<argument>com.tangosol.net.DefaultCacheServer</argument>
5556
</arguments>
5657
</configuration>

0 commit comments

Comments
 (0)