Hello all,

Working through GEODE-5739
<https://issues.apache.org/jira/browse/GEODE-5739> I've modified
*ServerStarterRule* and *LocatorStarterRule* to use the public
*ServerLauncher* and *LocatorLauncher* classes respectively, instead of the
internal APIs to start up the members. As part of the changes, I've
modified the accessibility of some methods to be *public* instead of
*private/protected* (like *getLogFile* so member's logs are redirected to
console) and made use of some methods not present at all in older versions
(like *setDeletePidFileOnStop*). This causes the test of the subject to fail
<http://files.apachegeode-ci.info/builds/geode-pr-2604/test-results/distributedTest/1539612211/>
when trying to invoke those if the user requested  using older versions of
Geode (*IllegalAccessError*, *NoSuchMethodError*, etc.)...
Considering that these changes don't actually break the backward
compatibility for the product itself, what would be the best solution here?:

   - Discard the changes and leave the rules as they currently are (rules
   will continue to use internal APIs instead of launchers).
   - Extend the current rules, deprecate the old ones, and tweak the
   *ClusterStartupRule* to choose the correct rule instance when starting
   members based on the requested version.
   - Modify the rules to use the old approach (internal APIs) whenever they
   detect that the user has requested to start a member using an older version
   of the product.
   - Other?.

Best regards.

-- 
Ju@N

Reply via email to