Skip to content

GEODE-9064: Configure serial filter during ManagementAgent start#6196

Merged
kirklund merged 3 commits intoapache:developfrom
kirklund:GEODE-9064-jmxrmi-filtering-01
Apr 6, 2021
Merged

GEODE-9064: Configure serial filter during ManagementAgent start#6196
kirklund merged 3 commits intoapache:developfrom
kirklund:GEODE-9064-jmxrmi-filtering-01

Conversation

@kirklund
Copy link
Contributor

@kirklund kirklund commented Mar 25, 2021

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

If the Java version is Java 8 then the system property does
not exist and will not be set.

Further pull requests may be submitted for Java 8.

@kirklund kirklund force-pushed the GEODE-9064-jmxrmi-filtering-01 branch 3 times, most recently from 6cf68cd to e57a5dc Compare March 25, 2021 22:07
@kirklund kirklund changed the title DRAFT: GEODE-9064: Configure serial filter during ManagementAgent start GEODE-9064: Configure serial filter during ManagementAgent start Mar 31, 2021
@kirklund kirklund force-pushed the GEODE-9064-jmxrmi-filtering-01 branch from 064a8ac to 7d1a6d8 Compare March 31, 2021 22:58
@kirklund kirklund marked this pull request as ready for review March 31, 2021 23:00
@kirklund kirklund requested a review from a user March 31, 2021 23:00
import org.apache.geode.test.assertj.LogFileAssert;
import org.apache.geode.test.junit.rules.RequiresGeodeHome;

public class LocatorManagerConfiguresSerialFilterAcceptanceTest {
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: using GfshRule to launch a locator/server would greatly reduce the boiler plate code

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

import org.apache.geode.test.assertj.LogFileAssert;
import org.apache.geode.test.junit.rules.RequiresGeodeHome;

public class ServerManagerConfiguresSerialFilterAcceptanceTest {
Copy link
Member

Choose a reason for hiding this comment

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

Suggestion: using GfshRule to launch a locator/server would greatly reduce the boiler plate code

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done

* greater than Java 8. If the system property already has a non-null value with a length greater
* than zero, then leave it as is.
*/
void configureSerialFilterIfEmpty();
Copy link
Member

Choose a reason for hiding this comment

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

This "if empty" is implementation specific. As an interface user, we just want to call configureSerialFilter(), as to whether/how you configure it, it depends on the implementer.

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 renamed this configureSerialFilter. I also renamed some classes and test classes to hopefully have better names.

public interface JmxRmiSerialFilter {

/**
* Configure the “jmx.remote.rmi.server.serial.filter.pattern” system property if Java version is
Copy link
Member

Choose a reason for hiding this comment

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

this comment probably only applies to the implementor of the interface

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 removed javadocs from JmxRmiSerialFilter. If I think of some better javadocs, I'll add them in.

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.
@kirklund kirklund force-pushed the GEODE-9064-jmxrmi-filtering-01 branch from b094b89 to acb1976 Compare April 2, 2021 00:32
@kirklund kirklund requested a review from jinmeiliao April 2, 2021 18:27
@kirklund kirklund merged commit c43dbc5 into apache:develop Apr 6, 2021
@kirklund kirklund deleted the GEODE-9064-jmxrmi-filtering-01 branch April 6, 2021 16:43
kirklund added a commit that referenced this pull request Apr 6, 2021
The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit c43dbc5)
kirklund added a commit that referenced this pull request Apr 6, 2021
The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit c43dbc5)
kirklund added a commit that referenced this pull request Apr 6, 2021
The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit c43dbc5)
kirklund added a commit that referenced this pull request Apr 6, 2021
The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit c43dbc5)
onichols-pivotal added a commit that referenced this pull request Apr 6, 2021
…art (#6196)"

This reverts commit 6bb9ba0.

reason: compile failed
nabarunnag added a commit to nabarunnag/geode that referenced this pull request Apr 7, 2021
kirklund added a commit to kirklund/geode that referenced this pull request Apr 15, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit c43dbc5)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 15, 2021
…art (apache#6196)"

Reverting due to possible related timeouts in geode-core distributed
test jobs.

This reverts commit c43dbc5.
kirklund added a commit to kirklund/geode that referenced this pull request Apr 15, 2021
…art (apache#6196)"

Reverting due to possible related timeouts in geode-core distributed
4 test jobs.

This reverts commit 74e5564.
kirklund added a commit to kirklund/geode that referenced this pull request Apr 15, 2021
…art (apache#6196)"

Reverting due to possible related timeouts in geode-core distributed
4 test jobs.

This reverts commit 5a3de78.
kirklund added a commit that referenced this pull request Apr 15, 2021
…art (#6196)" (#6326)

Reverting due to possible related timeouts in geode-core distributed
4 test jobs.

This reverts commit 74e5564.
kirklund added a commit that referenced this pull request Apr 15, 2021
…art (#6196)" (#6324)

Reverting due to possible related timeouts in geode-core distributed
test jobs.

This reverts commit c43dbc5.
kirklund added a commit that referenced this pull request Apr 15, 2021
…art (#6196)" (#6328)

Reverting due to possible related timeouts in geode-core distributed
4 test jobs.

This reverts commit 5a3de78.
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit that referenced this pull request Apr 16, 2021
The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 16, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit b280355)
kirklund added a commit that referenced this pull request Apr 22, 2021
…) (#6336)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.
kirklund added a commit to kirklund/geode that referenced this pull request Apr 22, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 22, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 22, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
kirklund added a commit to kirklund/geode that referenced this pull request Apr 22, 2021
…che#6196)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
kirklund added a commit that referenced this pull request Apr 26, 2021
…) (#6337)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
kirklund added a commit that referenced this pull request Apr 26, 2021
…) (#6338)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
kirklund added a commit that referenced this pull request Apr 26, 2021
…) (#6341)

The Geode JMX layer will configure the system property
“jmx.remote.rmi.server.serial.filter.pattern" to only accept
JDK classes identified as open-types required for JMX.

If the system property already has a value then Geode will log
a statement and leave the system property alone.

(cherry picked from commit 8b2ee6d)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants