Any further thoughts on this?

I'd like to proceed with the PR for SOLR-16962 [1], which I've updated
with a fix to address now-once-again-relevant SOLR-6537 [2] (at
whatever point SOLR-16962 made it impossible to configure an external
tlog, SOLR-6537 (cleanup/deletion of external tlog) became practically
not relevant).

[1] https://issues.apache.org/jira/browse/SOLR-16962
[2] https://issues.apache.org/jira/browse/SOLR-6537

On Mon, Sep 11, 2023 at 12:36 PM Michael Gibney
<mich...@michaelgibney.net> wrote:
>
> > useful to separate the location to use some fast local SSDs vs slower but 
> > larger storage for the main index
>
> Exactly.
>
> And yes, the duplicity of nomenclature is a large part of what I'm
> suggesting to deal with here ... it's very confusing. But having
> recently been pretty deep in this part of the current code, it looks
> very much like "ulogDir" refers to the _parent_ directory of the tlog
> dir -- i.e., `[instanceDir]/data/`, which is just weird IMO ... so I
> guess I was also thinking of consistency, but hoping to break more in
> the direction of using "tlogDir", since "ulogDir" currently
> (confusingly) seems to mean `[instanceDir]/data/`.
>
> My current understanding of the situation: as far as the filesystem is
> concerned, updateLog/ulog/solr.ulog.dir/etc. has no significance other
> than as the parent of the tlogDir -- and as the parent, it also
> happens to be the same dir as the default dataDir -- i.e., the parent
> of the `index` dir, etc... so in fact there's nothing at all uniquely
> "ulog" about the "ulogDir".
>
> Michael
>
> On Mon, Sep 11, 2023 at 12:24 PM David Smiley <david.w.smi...@gmail.com> 
> wrote:
> >
> > FWIW I've never heard of anyone customizing that.  I suppose it might be
> > useful to separate the location to use some fast local SSDs vs slower but
> > larger storage for the main index?
> >
> > I've noticed an annoying duplicity in nomenclature here -- is it the Update
> > Log or the Transaction Log?  And furthermore, we have a TLOG replica type.
> > In our configuration, the nomenclature is "update log" or "ulog".  If we
> > add a new setting, let's at least be consistent and call the new proposed
> > dir "ulogDir".
> >
> > ~ David
> >
> >
> > On Mon, Sep 11, 2023 at 9:45 AM Michael Gibney <mich...@michaelgibney.net>
> > wrote:
> >
> > > Thanks Ilan, this seems good. In addition to addressing practical
> > > concerns, this could also be an opportunity to clarify the semantics
> > > around updateLog/tlog configuration:
> > >
> > > In looking closely at this code, my understanding is that the
> > > `<updateLog><str name="dir">${solr.ulog.dir:}</str></updateLog>`
> > > setting in solrconfig.xml currently defines the _parent_ directory
> > > that contains the tlog dir. Except that afaict, the tlog dir is the
> > > _only_ path that's actually relevant. In fact, the portion of the
> > > refguide that mentions this is called "Transaction Log Configuration"
> > > [1].
> > >
> > > This muddles the intent of this setting; it would be much clearer if,
> > > rather than a "dir" property (defaulting to `[instanceDir]/data/`)
> > > defining the _parent_ directory of the tlog dir, we simply had a
> > > "tlogDir" property (defaulting to `[instanceDir]/data/tlog/`) that
> > > directly defines the tlog dir. The semantics of this could then be
> > > clarified to indicate that:
> > > 1. if tlogDir is relative, it is resolved relative to core
> > > instanceDir, and must resolve to a descendent dir of instanceDir
> > > (i.e., cannot "escape" via ../../../).
> > > 2. if tlogDir (whether absolute or relative) resolves to a descendant
> > > of instanceDir, it is already implicitly namespaced by core, and the
> > > property defines the tlog dir directly.
> > > 3. if tlogDir is absolute and resolves to a directory _outside_ of the
> > > core instanceDir, it is _not_ implicitly namespaced by core, and the
> > > property therefore defines a parent directory, within which a
> > > core-namespaced tlog dir will be created (for a final tlog file path
> > > of, e.g., `[tlogDir]/[core_name]/tlog.0000000000000001`)
> > >
> > > As it stands currently, the above three cases are already ambiguous;
> > > the proposed bugfix PR [2] necessarily resolves this ambiguity, but
> > > even so, the semantics of the "dir" property map poorly onto what
> > > actually needs to be configured.
> > >
> > > Does this make sense, and/or am I missing something?
> > >
> > > Michael
> > >
> > > [1]
> > > https://solr.apache.org/guide/solr/latest/configuration-guide/commits-transaction-logs.html#transaction-log-configuration
> > > [2] https://github.com/apache/solr/pull/1895
> > >
> > > On Fri, Sep 8, 2023 at 4:59 PM Ilan Ginzburg <ilans...@gmail.com> wrote:
> > > >
> > > > Re backcompat issue: might be an option to fix that config but use a
> > > > different name for it then, so that any currently existing (and ignored)
> > > > config continues to be ignored.
> > > >
> > > > Ilan
> > > >
> > > > On Thu, Sep 7, 2023, 6:14 PM Michael Gibney <mich...@michaelgibney.net>
> > > > wrote:
> > > >
> > > > > I'd like to call some extra attention to SOLR-16962 [1]. I'm fairly
> > > > > certain that it's been years since it has actually worked to specify
> > > > > tlog dir in solrconfig.xml `<updateLog/>` element. I've opened a PR
> > > > > that fixes this, but it involves making some decisions about edge-case
> > > > > handling, for which I'd appreciate feedback.
> > > > >
> > > > > Of course, if anyone _has_ successfully configured a custom tlog dir
> > > > > location with a recent solr version, I'd be curious to hear about that
> > > > > too!
> > > > >
> > > > > Also worth mentioning: if anyone currently has this latently
> > > > > configured in solrconfig.xml, I wonder if it's possible that fixing
> > > > > this bug could cause a change in behavior that might cause a
> > > > > backcompat issue.
> > > > >
> > > > > [1] https://issues.apache.org/jira/browse/SOLR-16962
> > > > >
> > > > > ---------------------------------------------------------------------
> > > > > To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
> > > > > For additional commands, e-mail: dev-h...@solr.apache.org
> > > > >
> > > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
> > > For additional commands, e-mail: dev-h...@solr.apache.org
> > >
> > >

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@solr.apache.org
For additional commands, e-mail: dev-h...@solr.apache.org

Reply via email to