Re: RFR: 8287104: AddressChangeListener thread inherits CCL and can cause memory leak for webapp-servers [v3]

2022-05-25 Thread Daniel Fuchs
On Wed, 25 May 2022 09:30:46 GMT, Jaikiran Pai  wrote:

>> Can I please get a review of this change which addresses 
>> https://bugs.openjdk.java.net/browse/JDK-8287104?
>> 
>> The change in this commit now uses an `InnocuousThread` to create a thread 
>> with `null` context classloader. The `Runnable` task of this thread just 
>> invokes a native method through JNI to be notified of IP addresses change of 
>> the host. As such any specific thread context classloader isn't necessary in 
>> this thread.
>> 
>> Additionally, this commit does some minor changes like making the `lock` 
>> member variable `final` and also marking the `changed` member variable as 
>> `volatile`. These changes aren't necessary for this fix, but I think would 
>> be good to have while we are changing this part of the code.
>> 
>> Finally, the thread that we create here, now has a specific name 
>> `Net-address-change-listener` instead of the usual system wide 
>> auto-generated name.
>> 
>> No new tests have been added for this change. Existing tier1, tier2 and 
>> tier3 tests have been run and no related failures have been noticed.
>
> Jaikiran Pai has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   No need for volatile as spotted by Daniel

LGTM now!

-

Marked as reviewed by dfuchs (Reviewer).

PR: https://git.openjdk.java.net/jdk/pull/8827


Re: RFR: 8287104: AddressChangeListener thread inherits CCL and can cause memory leak for webapp-servers [v3]

2022-05-25 Thread Jaikiran Pai
> Can I please get a review of this change which addresses 
> https://bugs.openjdk.java.net/browse/JDK-8287104?
> 
> The change in this commit now uses an `InnocuousThread` to create a thread 
> with `null` context classloader. The `Runnable` task of this thread just 
> invokes a native method through JNI to be notified of IP addresses change of 
> the host. As such any specific thread context classloader isn't necessary in 
> this thread.
> 
> Additionally, this commit does some minor changes like making the `lock` 
> member variable `final` and also marking the `changed` member variable as 
> `volatile`. These changes aren't necessary for this fix, but I think would be 
> good to have while we are changing this part of the code.
> 
> Finally, the thread that we create here, now has a specific name 
> `Net-address-change-listener` instead of the usual system wide auto-generated 
> name.
> 
> No new tests have been added for this change. Existing tier1, tier2 and tier3 
> tests have been run and no related failures have been noticed.

Jaikiran Pai has updated the pull request incrementally with one additional 
commit since the last revision:

  No need for volatile as spotted by Daniel

-

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/8827/files
  - new: https://git.openjdk.java.net/jdk/pull/8827/files/f1f4a7a5..6d36b16c

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk=8827=02
 - incr: https://webrevs.openjdk.java.net/?repo=jdk=8827=01-02

  Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod
  Patch: https://git.openjdk.java.net/jdk/pull/8827.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/8827/head:pull/8827

PR: https://git.openjdk.java.net/jdk/pull/8827