How about introducing a new GEMFIRE_FILE_PREFIX attribute that will default
to "geode" while leaving GEMFIRE_PREFIX default to "gemfire"? Is this
something that will work?

On Thu, Oct 13, 2016 at 1:48 PM, Anthony Baker <aba...@pivotal.io> wrote:

> Hmmm, you would think it would be easier to change a file name :-)
>
> I don’t think we should be pushing destabilizing changes into a release
> branch.  If the changes aren’t ready now we always pick them up for the
> next release.
>
> Anthony
>
> > On Oct 13, 2016, at 1:13 PM, Kirk Lund <kl...@apache.org> wrote:
> >
> > I'm currently working with Jared and we have spent a few days working
> > on GEODE-1466. We've been trying to get geode to the point where it can
> > automatically search for, find and use either geode.properties or
> > gemfire.properties (preferring geode.properties if both are found).
> >
> > We were intending to break this up into three subtasks with the hope of
> > including #1 in Geode 1.0.0 incubating:
> >
> > 1) locating geode.properties and gemfire.properties if user has not
> > specified a specific properties file
> >
> > 2) support specifying geode configuration properties with system
> properties
> > geode.<property-name> as well as gemfire.<property-name>
> >
> > ex: -Dgemfire.off-heap-memory-size=40g or -Dgeode.off-heap-memory-size=
> 40g
> >
> > 3) modify all other system properties in geode to support alias of
> gemfire
> > as well as geode where the name of the system property currently contains
> > gemfire
> >
> > ex: -Dgemfire.Query.VERBOSE=true or -Dgeode.Query.VERBOSE=true
> >
> > The community is planning to create the Geode 1.0.0 incubating RC
> tomorrow.
> > The work we have completed so far involves modifying geode to search for
> > both geode.properties and gemfire.properties to use whichever one is
> found.
> > This turns out to be too complex to complete by tomorrow (send me a email
> > directly if you want more detailed info which mostly involves
> > DistributionConfig and ConfigSource).
> >
> > In order to complete this in time, we need to use a different strategy.
> > Instead of looking for geode.properties first and then
> gemfire.properties,
> > we are proposing the following change to DistributionConfig:
> >
> > Change the GEMFIRE_PREFIX = "gemfire." constant to be configurable by a
> > system property and change the default to be "geode." This places a
> greater
> > burden on the user who is migrating from GemFire to Geode but doesn't
> want
> > to rename gemfire.properties or gemfire system properties. By default,
> > Geode would search for geode.properties unless the user specifies a new
> > system property with a different prefix ("gemfire."):
> >
> > String GEMFIRE_PREFIX = PropertiesPrefix.getGemfireOrGeodePrefix();
> >
> > Example of overriding this to be "gemfire.":
> >
> > -DgeodePropertiesPrefix="gemfire."
> > or
> > -DgeodePropertiesPrefix="gemfire"
> >
> > (we'll add the "." for you if you leave it out)
> >
> > Pivotal or other vendors could also alter this prefix as they see fit.
> >
> > There are 453 lines of production code that refer to this GEMFIRE_PREFIX
> > constant. For example, every system property that contains "gemfire." is
> > currently referring to the constant, so they would also be altered to be
> > "geode." by default. The JMX notifications also refer to GEMFIRE_PREFIX
> > such as: GEMFIRE_PREFIX + "distributedsystem.cache.client.joined".
> >
> > Does anyone know if anything referring to GEMFIRE_PREFIX is persisted in
> > some way that would break if we make this change? For example, if we
> > persist any strings built with this constant to a diskstore, then
> recovery
> > from that diskstore would be broken if the prefix value is "geode."
> during
> > recovery of an old diskstore.
> >
> > Also, a user could conceivably override the GEMFIRE_PREFIX in some
> members
> > of a cluster but not others which could break things in unexpected ways.
> >
> > One more note: While reviewing uses of GEMFIRE_PREFIX we noticed that
> > AgentUtil supports "GEMFIRE" (hardcoded) and GEMFIRE_PREFIX+".home" env
> > vars while all of the online docs specify setting GEMFIRE_HOME as an env
> > var. I suspect this is already broken (I will file a ticket), but I think
> > we will also be at risk of breaking additional things that may or may not
> > be immediately detected by precheckin tests. It's also used by
> DtdResolver
> > for the name of a dtd: new File(GEMFIRE_PREFIX + "dtd). We'll continue
> > looking for unusual or risky uses of the constant.
> >
> > Bottom line is making this change is higher risk than not making the
> > change, and there could be some fallout bugs that require fixes and
> > additional release candidates for 1.0.0.
> >
> > Does the community feel this change is desirable for 1.0.0? Or is it
> better
> > to leave it as "gemfire." and move GEODE-1466 to post-1.0.0?
> >
> > Thanks,
> > Kirk
>
>

Reply via email to