> 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