From: Eric Wong <e@yhbt.net>
To: meta@public-inbox.org
Subject: [PATCH 14/20] searchidx: rename _xdb_{acquire,release} => idx_
Date: Fri, 24 Jul 2020 05:56:00 +0000 [thread overview]
Message-ID: <20200724055606.27332-15-e@yhbt.net> (raw)
In-Reply-To: <20200724055606.27332-1-e@yhbt.net>
The "xdb" prefix was inaccurate since it's used by
indexlevel=basic, which is Xapian-free. The '_' (underscore)
prefix was also wrong for a method which is called across
package boundaries.
---
lib/PublicInbox/SearchIdx.pm | 12 ++++++------
lib/PublicInbox/SearchIdxShard.pm | 6 +++---
t/inbox_idle.t | 4 ++--
t/search.t | 4 ++--
4 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm
index 2d53b2d03..89c716793 100644
--- a/lib/PublicInbox/SearchIdx.pm
+++ b/lib/PublicInbox/SearchIdx.pm
@@ -77,7 +77,7 @@ sub new {
sub need_xapian ($) { $_[0]->{indexlevel} =~ $xapianlevels }
-sub _xdb_release {
+sub idx_release {
my ($self, $wake) = @_;
if (need_xapian($self)) {
my $xdb = delete $self->{xdb} or croak 'not acquired';
@@ -101,7 +101,7 @@ sub load_xapian_writable () {
1;
}
-sub _xdb_acquire {
+sub idx_acquire {
my ($self) = @_;
my $flag;
my $dir = $self->xdir;
@@ -735,7 +735,7 @@ sub _index_sync {
$git->cleanup;
delete $self->{txn};
$xdb->cancel_transaction if $xdb;
- $xdb = _xdb_release($self);
+ $xdb = idx_release($self);
# ensure we leak no FDs to "git log" with Xapian <= 1.2
my $range = $lx eq '' ? $tip : "$lx..$tip";
@@ -766,7 +766,7 @@ sub _index_sync {
$self->{over}->rethread_done($opts) if $newest; # all done
$self->commit_txn_lazy;
$git->cleanup;
- $xdb = _xdb_release($self, $nr);
+ $xdb = idx_release($self, $nr);
# let another process do some work...
$pr->("indexed $nr/$self->{ntodo}\n") if $pr && $nr;
if (!$newest) { # more to come
@@ -805,7 +805,7 @@ sub remote_close {
$? == 0 or die ref($self)." pid:$pid exited with: $?";
} else {
die "transaction in progress $self\n" if $self->{txn};
- $self->_xdb_release if $self->{xdb};
+ idx_release($self) if $self->{xdb};
}
}
@@ -821,7 +821,7 @@ sub remote_remove {
sub _begin_txn {
my ($self) = @_;
- my $xdb = $self->{xdb} || $self->_xdb_acquire;
+ my $xdb = $self->{xdb} || idx_acquire($self);
$self->{over}->begin_lazy if $self->{over};
$xdb->begin_transaction if $xdb;
$self->{txn} = 1;
diff --git a/lib/PublicInbox/SearchIdxShard.pm b/lib/PublicInbox/SearchIdxShard.pm
index fd34e487b..cb79f3dc9 100644
--- a/lib/PublicInbox/SearchIdxShard.pm
+++ b/lib/PublicInbox/SearchIdxShard.pm
@@ -15,9 +15,9 @@ sub new {
my $ibx = $v2w->{ibx};
my $self = $class->SUPER::new($ibx, 1, $shard);
# create the DB before forking:
- $self->_xdb_acquire;
+ $self->idx_acquire;
$self->set_indexlevel;
- $self->_xdb_release;
+ $self->idx_release;
$self->spawn_worker($v2w, $shard) if $v2w->{parallel};
$self;
}
@@ -56,7 +56,7 @@ sub shard_worker_loop ($$$$$) {
if ($line eq "commit\n") {
$self->commit_txn_lazy;
} elsif ($line eq "close\n") {
- $self->_xdb_release;
+ $self->idx_release;
} elsif ($line eq "barrier\n") {
$self->commit_txn_lazy;
# no need to lock < 512 bytes is atomic under POSIX
diff --git a/t/inbox_idle.t b/t/inbox_idle.t
index f754e0fcc..61287200d 100644
--- a/t/inbox_idle.t
+++ b/t/inbox_idle.t
@@ -28,9 +28,9 @@ for my $V (1, 2) {
my $im = $ibx->importer(0);
if ($V == 1) {
my $sidx = PublicInbox::SearchIdx->new($ibx, 1);
- $sidx->_xdb_acquire;
+ $sidx->idx_acquire;
$sidx->set_indexlevel;
- $sidx->_xdb_release; # allow watching on lockfile
+ $sidx->idx_release; # allow watching on lockfile
}
my $pi_config = PublicInbox::Config->new(\<<EOF);
publicinbox.inbox-idle.inboxdir=$inboxdir
diff --git a/t/search.t b/t/search.t
index aa6f94bf3..a75d944c3 100644
--- a/t/search.t
+++ b/t/search.t
@@ -21,8 +21,8 @@ ok($@, "exception raised on non-existent DB");
my $rw = PublicInbox::SearchIdx->new($ibx, 1);
$ibx->with_umask(sub {
- $rw->_xdb_acquire;
- $rw->_xdb_release;
+ $rw->idx_acquire;
+ $rw->idx_release;
});
$rw = undef;
my $ro = PublicInbox::Search->new($ibx);
next prev parent reply other threads:[~2020-07-24 5:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-24 5:55 [PATCH 00/20] indexing changes and new features Eric Wong
2020-07-24 5:55 ` [PATCH 01/20] index: support --rethread switch to fix old indices Eric Wong
2020-07-24 5:55 ` [PATCH 02/20] v2: index forwards (via `git log --reverse') Eric Wong
2020-07-24 5:55 ` [PATCH 03/20] v2writable: introduce idx_stack Eric Wong
2020-07-24 5:55 ` [PATCH 04/20] v2writable: index_sync: reduce fill_alternates calls Eric Wong
2020-07-24 5:55 ` [PATCH 05/20] v2writable: move {autime} and {cotime} into $sync state Eric Wong
2020-07-24 5:55 ` [PATCH 06/20] v2writable: allow >= 40 byte git object IDs Eric Wong
2020-07-24 5:55 ` [PATCH 07/20] v2writable: drop "EPOCH.git indexing $RANGE" progress Eric Wong
2020-07-24 5:55 ` [PATCH 08/20] use consistent {ibx} field for writable code paths Eric Wong
2020-07-24 5:55 ` [PATCH 09/20] search: avoid copying {inboxdir} Eric Wong
2020-07-24 5:55 ` [PATCH 10/20] v2writable: use read-only PublicInbox::Git for cat_file Eric Wong
2020-07-24 5:55 ` [PATCH 11/20] v2writable: get rid of {reindex_pipe} field Eric Wong
2020-07-24 5:55 ` [PATCH 12/20] v2writable: clarify "epoch" comment Eric Wong
2020-07-24 5:55 ` [PATCH 13/20] xapcmd: set {from} properly for v1 inboxes Eric Wong
2020-07-24 5:56 ` Eric Wong [this message]
2020-07-24 5:56 ` [PATCH 15/20] searchidx: make v1 indexing closer to v2 Eric Wong
2020-07-24 5:56 ` [PATCH 16/20] index+xcpdb: support --no-sync flag Eric Wong
2020-07-24 5:56 ` [PATCH 17/20] v2writable: share log2stack code with v1 Eric Wong
2020-07-24 5:56 ` [PATCH 18/20] searchidx: support async git check Eric Wong
2020-07-24 5:56 ` [PATCH 19/20] searchidx: $batch_cb => v1_checkpoint Eric Wong
2020-07-24 5:56 ` [PATCH 20/20] v2writable: {unindexed} belongs in $sync state Eric Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://public-inbox.org/README
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200724055606.27332-15-e@yhbt.net \
--to=e@yhbt.net \
--cc=meta@public-inbox.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/public-inbox.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).