►
From YouTube: 2022 07 13 Git Cache Maintenance
Description
No description was provided for this meeting.
If this is YOUR meeting, an easy way to fix this is to add a description to your video, wherever mtngs.io found it (probably YouTube).
A
B
Today
I
wanted
to
like
I
wanted
us
to
you
know
test
the
software
on
your
machine
because
I
tried
doing
it
from
my
end,
but
it
wasn't
coming.
There
was
a
bit
of
lag
when
I
was
using
your
machine,
so
that
was
one
thing.
One
more
thing
I
wanted
to
discuss
was
about
the
presentation
like
next
week,
we'll
be
having
the
presentation
right.
So
what
do
I
need
to
focus
on
and
what
all
I
have
to
be
working
on
good
those
both.
B
A
E
A
All
right
so
review
again.
For
me,
the
topics
were:
let's
see,
presentation
for
july
21
2022
the
midpoint,
auto
testing,
to
confirm
behavior
testing,
the
plug-in
implementation,
and
then
there
was
a
third,
oh
yeah,
prefetch
related.
You
know,
oh
right,
using
credentials
up
right,
operating
or
maintaining.
B
Right
and
there's
one
more
thing:
you
know
we
were
adding
caches
to
the
hash
that
okay
to
our
set,
but
we
didn't,
you
know,
add
logic
to
delete
those
caches
from
that
set.
So
you
know
assume
if
there
are
too
many
caches
present
on
the
jenkins
controller,
and
if
I
don't
restart
that
jenkins
controller,
then
you
know
caches
would
be
added
to
it.
You,
and
even
if
user
deletes
it,
it
would
still
be
present
in
that
set.
A
Okay,
so
there's
no
process
that
removes
cash
entries
from
the
hash
set;
okay,
good,
all
right.
A
B
Oh
I've,
I
want
to
like
a
more
preference
to
you
know
running
the
software
on
the
you
know
on
your
computer.
That
is
one
and
the
presentation
so
that
that
would
be
like
the
most
important
thing.
Today's
session.
A
A
My
reviews
were
focused
rather
on
fixing
the
compilation,
so
it
now
compiles
again
and
resolving
test
spot
bugs
warnings,
and
I
was
trying
to
work
on
test
test
failures,
so
I
actually
introduced
a
test
failure
that
I'll
lobby
that
we
should
go
in
and
fix
to
get
rid
of
one
of
one
of
the
failures
I
created,
but
I
think
it's
good.
Let's
do
some
interactive
testing,
because
russia
cash,
I
think,
that's
much
more
valuable
than
the
automation
automation.
I
can
do
independently
looking
at
failures.
A
Those
things
can
be
done
by
us
as
individuals,
whereas
the
the
experience
of
testing
the
the
plug-in
in
in
a
live
environment
is
is
much
more
interesting.
I
think
yeah,
okay,
all
right.
So
how
about
I'll
share
my
screen
and
let's,
let's
start
through
a
series
of
of
testing
tasks
or
testing
ideas
and
talk
about
which
ones
we
want
to
want
to
try?
A
A
A
There
was
a
fourth
operation,
help
me
with
that
lose
objects
and
incremental
feedback,
okay,
and
is
that
a
single
operation
or
two
operations?
No
or
there
are
two
different
operations:
okay,
good
all
right,
incremental
repack.
All
right
good
now
commit
graph,
though,
should
work
on
both
public
repositories
and
private
repositories.
Right
yeah,
okay,.
A
A
A
Are
there
other
things?
Should
we
be
worried
about
delays
in
starting
the
maintenance
operations,
not
really.
C
A
Really
it's
determined.
Okay,
there
we
go
start
a
git
plug-in
test
job.
I
get
client
plug-in
test
job
start
and
then
start
a
maintenance
job
and
watch
to
see
that
there
is
no.
Oh,
probably,
should
also
scan
a
multi-branch
repository.
F
Yeah,
that
makes
sense.
I
also
as
I
as
you
were
talking
about
caches.
I
I
have
one
question
that
I
probably
can
ask
that
later
or
after
this
exercise
is
done.
This
is
related
to
locking
caches
and
getting
the
logs.
A
F
Yes,
I
I
I
just
wanted
to
ask:
what
is
our
I
mean?
What
do
threads
do
if,
if,
if
a
thread
who
has
acquired
a
lock
for
this
cache,
if
it
dies
or
if
there
is
an
issue
while
locking
it,
what
would
other
threads
do?
F
A
B
There
is
one
single
thread
which
is
responsible
for
maintaining.
You
know
for
running
all
the
maintenance
tasks.
So
now
so
assume,
there's
one
thread
and
it's
gonna
run
prefetch.
So
what
it's
gonna
do
it's
when
it's
running
prefetch
it
goes
through
all
the
caches
present
on
the
jenkins
controller.
It
locks
the
first
cache.
It
runs
the
task,
then
it
unlocks
it.
Then
it
goes
goes
and
grabs
the
nest
and
extra.
You
know
cache
lock,
executes
it
and
then
unlocks
it.
So
so
that's.
F
So
my
question
rishikesh
is
that
you
are
acquiring
a
law.
That
means
there
is
an
assumption
that
some
other
across
the
whole
system.
Some
other
threat,
could
try
to
look
at
the
cash
while
you
are
working
on
it
right.
I
am
not
just
this
question
is
not
just
for
the
scope
of
the
maintenance
tasks
that
are
trying
to
acquiring
a
lock
on
the
cash.
The
question
is,
let's
say:
gc
acquires
a
lock.
F
It
started
to
run,
but
for
some
reason
it
takes
it's
taking
a
long
time
right
and
a
multi
branch
job
wants
to
acquire
a
lock
on
that
same
cash.
So
what
is
the
behavior?
What
would
be
the
behavior
of
that
program?
Would
it
wait
for
that
for
to
acquire
a
lock
and
if
it
would
wait,
then
assume
a
user
is
trying
to
run
a
maintenance
job
and
it
would
take
him.
F
So
I
did
not
see
any
kind
of
knowledge,
so
I
I
saw
that
there's
some
logic
in
the
abstract
gate:
scm
class,
where
we
we
use
a
reentrant
log.
We
populate
the
cache
the
map
where
we
actually
store
the
logs
right,
but
when
we
try
to
acquire
the
logs
across
the
whole
program,
whole
whole
git
plugin.
F
Since
this
code
is
was
written
early
on
right,
this
was
written
by
stephen.
I
am
assuming
it
works
fine
and
there
is
there's
not
an
instance
where
a
thread
enters
acquires
the
lock
and
then
for
some
reason
it
cannot
free
the
log
and
the
other
threads
they
were
just
waiting
or
what
are
they
doing
that
kind
of
behavior?
A
A
A
A
A
A
If
we
look
at
the
test
result,
I
extended-
or
I
did
some
work
on
a
test
for
test,
get
version,
get
test,
get
git
version
and
the
mistake
I
made
was:
I
said
that
it
was
not
allowed
to
have
a
a
value
of
zero
on
the
lower
range
of
a
version
number
either
the
minor
number
or
the
patch
number,
but
that
is
allowed
right.
3.0.0
will
eventually
be
released
as
a
git
version,
so
zero
has
to
be
allowed
in
the
second
and
the
third
position.
A
A
The
mistake
I
made
was
that
okay,
it
asserts
that
there
must
be
more
than
one
entry
in
the
version
array,
so
that
means
2.0
or
in
the
cases
that
I
know
2.17,
for
instance,
is
an
allowed
version,
no
dot
no
dot
beyond
it.
So
if
the
major
version
is,
it
must
be
greater
than
0
and
less
than
99
was
my
assumption.
The
minor
version
is
greater
than
minus
1
and
less
than
99,
and
likewise
the
patch
version
should
be
greater
than
-1
and
less
than
99..
A
A
A
B
I
already
tried
testing,
you
know
running
tasks
every
minute.
Those
things
are
running
as
expected,
we
can
try
it
once
again.
You
know:
okay,.
A
A
B
Oh
okay,
like
okay,
can
you
go
back
to
the
git
like
do
the
ui
ones
like
I
mean
the
maintenance
to
ask
you
why?
Oh
sure
you
better
you're
ready
there
right.
So
that's.
A
Right
so
incremental
repack
faults
assigned
incremental
okay,
loose
objects,
execution
faults,
commit
graph
execution
faults,
prefetch
execution
faults
assigned
every
minute
to
prefetch.
Oh
interesting,
now
wait
a
second,
oh!
I
did
assign
every
minute
to
prefetch
okay.
So
it's
telling
me
the
truth,
good
all
right
and
it's
running
a
task
prefetch
on
this
repository.
So
let's
go
take
a
look
at
it.
Shall
we.
F
So
as
a
user,
the
way
that
I
would
understand
if
what
I
have
actually
executed,
runs
or
not,
would
be
to
come
to
the
dogs
and
see
the
locks.
Or
do
we
plan
to
actually
put
something
in
the
ui
to
be
able
for
the
user
to
understand
that.
B
Was
what
proportion
you
know
the
proposal
that
I
would
you
know
add
a
ui
to
display
the
how
the
maintenance
tasks
were
executed
like
what
would
you
know
the
data
related
to
how
whether
it
passed
successfully
or
not
so.
A
A
A
B
A
F
And
there
is
no
way
for
us
to
for
the
maintenance
task
to
get
the
credentials
and
make
connection
with
the
remote
repository.
I
think
that
was
discussed.
B
B
So
we
would
be
needing.
You
know
a
group
of
credential
ids.
A
E
A
A
A
A
B
A
B
A
B
A
B
I
think
what
I
understand
what's
going
on
right
now:
okay,
so
basically
the
maintenance
task
has
been
added
to
the
queue
like
research
has
been
added
to
the
queue
and
now
what
what's
happening
is
the
main.
You
know
it's
running
on
that
cache,
but
then
we
terminated
the
maintenance
task
instantaneously.
You
know
to
update
the
value
and
I
think
the
lock
hasn't
been
released.
So
I
think
that's
the
reason
why.
B
Yeah,
it
should
be
in
the
objects-
okay,
all
right,
so.
A
A
Okay,
so
I'm
not
understanding
it
should
I
should
I
leave
it
running
or
kill
it.
Oh
yeah,
you
can
dominate
it
right
now.
Okay,
all
right,
I'm
not
sure
I
can
actually
terminate
it
because
it
may
be
inside
the
docker
container.
Oh
okay,
I
got
it
and
then
this
is
an
ssh
command.
That's
that
one
I
can
terminate.
A
A
A
B
A
B
You
know
you
can
run
the
maintenance
task
itself.
You
know
the
above
command,
get
maintenance
run,
oh
okay,
so
I
can
just
say:
git
maintenance.
A
B
Yes,
here,
oh
here,
okay,
if,
if
you
see
if
you
scroll
a
bit,
you
know
on
top,
I
like.
A
A
A
A
Like
that,
so
get
run,
no
quiet.
A
F
No,
there
is
no
timer
so
then,
when
you've
acquired
a
log
to
the
cache,
and
now
let's
say
this
is
running
and
not
exiting
any
other
thread.
Who
is
trying
to
use
that
cache
would
wait
for
the
log
site.
A
A
A
B
A
I
kill
it,
I
assume,
if
I
kill
it
it
will,
it
will
continue
with
the
next
with
the
next.
The
next
repository
is
that
a
safe
assumption.
B
No,
I
think
here
the
problem
right
now
is:
we
are
not
able
to,
you
know,
run
prefetch
on,
you
know,
authenticated
authorized
right.
B
A
B
A
A
Can
we
see
the
logs
once
like
something
okay,
so
the
logs
here,
nope
nope
where'd,
I
put
my
logs.
A
A
B
One
minute,
if,
if
see,
if
there
is
no
access
to
that
repository,
actually
there
should
be
a
log
displayed
like
that.
Like
about
there's
a
log,
please
make
sure
you
have
the
correct
access.
A
A
A
Okay,
let's
use
nope
get
fetch.
A
A
A
A
A
Okay,
now
log
records
it'll
take
like
one
minute:
okay,
all
right!
So
now
we're
ready
to
save.
Do
I
need
to
terminate
here
and
then
start.
E
D
D
B
A
A
A
A
B
A
B
Because
in
this
case,
it's
holding
the
lock
yeah,
because
actually
the
prefetch
task
is
still
present
in
the
queue.
So
we
didn't.
You
know:
okay,.
A
B
D
A
B
And,
and
and
can
we
like
now
run
the
you
know,
common
graph,
maintenance,
stuff.
A
Oh,
oh
good,
all
right!
That's
a
very
reasonable
request.
Okay,
so
I'm
gonna
clear
this
log,
chug
chug,
chug,
okay,
show
me
what's
happening
and
we
have
to
click
on
execute
in
the
ui
click
right.
So
I
I
just
wanted
to
be
sure.
I
had
a
clean
state
and
as
far
as
I
can
tell,
I
do
have
a
clean
state.
So
now
we're
going
to
attempt
to
execute
commit
graph
every
minute.
B
B
A
B
Because
when
I
clicked
on,
when
I
click
on
the
terminate
button,
you
know
the
thread
running
that
prefetch
should
have
you
know.
A
Something
is
starting
a
new
job,
it
is
too
strong.
I
don't
know
what
it
would
mean
in
this
context,
but,
okay,
I
it
looks
to
me
like
I-
have
successfully
killed
all
of
those
jobs
now.
Will
I
see
something
that
tells
me?
I
did
that
terrible
thing
in
the
oh
wrong
wrong
window.
Sorry,
let's
bring
up
the
correct
window
here
we
go.
We
are
looking
for
this
one.
Okay,
log
records.
A
A
D
A
A
A
Which
has
run
and
now
completed
successfully
right,
it
says:
hey,
run
a
batch
file
run
a
shell
script,
lock
the
cache.
It
then
says
hey.
This
is
a
mod
enough.
Jenkins
are
not
modern
enough,
git
version
to
do
real
maintenance
and
then
it
says,
start
running
the
commit
the
the
commit
graph
task
on
this
repository
and
there
it
is
running
and
it
ran
for.
A
D
D
A
All
right-
and
I
apologize
to
the
two
of
you,
but
I'm
running
out
of
energy,
I'm
I'm
getting
weary!
Sorry!
It's
it's
getting
late!
My
time
and
I've
been
up.
Did
we
accomplish
positive
things
for
what
you
wanted
fushakesh,
and
should
we
schedule
a
time
to
do
this
again,
two
days
from
now,
for
instance,
yeah
it.
A
B
A
Yeah,
exactly
I
mean
there
are:
there
are
all
sorts
of
subtle
things
going
on
there
that
it's
it's
just
better.
If
we
do
this
together
right,
we
we
will
have
better
ideas
together,
we'll
find
more
things
together.
I
think
that's
a
very
good
thing
that
we
did
exactly
what
you
suggested.
This
we've
got
a
plan
for
how
we
approach
it.
We've
got
things
we
should
be
watching,
so
I
think
I
think
it's
a
good
good
thing
now.
A
One
of
the
things
that
I
haven't
arrived
at
yet
was
how
to
get
a
good
test
case
for
things
like
things
like
garbage
collection.
A
So
because,
for
instance,
here
I
just
copied
the
stable
linux
configuration
and
what
we'll
see
is
it's
all
in
a
pack
in
pac
files,
so
there's
no,
no,
no
loose,
there
are
no
loose
commits
to
to
be
tidied
by
garbage
collection,
and
I
don't
know
how
to
generate
a
repository
that
has
lots
of
loose
commits
other
than
just
creating
the
commits,
and
maybe.
B
That's
what
we
have
to
do,
there
is
one
way
of
you
know,
removing
all
all
objects
from
the
back
file.
You
know
I
tried
that
once
where
I
removed
all
objects
from
the
pack
files
and
put
it
in
you
know
an
objects
folder,
so
that
I
could
run
the
maintenance
task
only
for
that
sake,
and
then
everything
again
goes
back
into
the
backfield.
A
Okay,
so
you
have
a
technique.
Okay,
so
you
can
teach
us
that
technique
on
friday,
then
good
yeah.
B
All
right
and,
regarding
the
you
know
next
week's
presentation
more
about
that.
How
do
I
approach
that.
A
So
so
what
I
would
do
is
plan
to
show
a
demonstration,
so
we
can
demonstrate
this
and
and
show
hey,
look
here's
what
it's
doing.
It's
running
a
garbage
collection
here,
it's
running
a
a
commit
graph.
It
generated
the
commit
graph
here
and
and
show
now,
maybe
maybe
for
real
life.
We
ought
to
have
show
it
on
my
system
rather
than
showing
it
on.
So
maybe
we
need
to
have
me
sh
me
doing
me
running
the
keyboard
on
the
demonstration
while
you
describe
so
that
okay
share
my
screen,
but
you
describe
what
the
story
is.
A
A
B
A
I'm
not
the
least
bit
scared
of
doing
a
live
demonstration.
That's
there.
There
is
no
fear
in
me
because
we
know
this
is
a.
We
know
this
is
still
under
development.
If,
if
nothing
breaks,
clearly,
we've
done
something
really
wrong
because
we've
hidden
all
the
breaks,
so
so
I
I
think
we
should
do
a
live
demo,
because
I
worry
about
trying
to
have
them
display
a
video
of
us,
and
I
worry
about
us
spending
the
time
and
energy
to
create
the
recorded
video,
okay.
B
So
if
so
go
ahead,
so
what
I
will
do,
I
will
try
making
a
presentation
first.
You
know
you
know
containing
like
information
about
what
this
plug.
What
this
you
know
project
is
about
and
what
is
going
to
solve
and
yeah
that
that's
what
I
would
do
you
know
to
get
myself
ready.
A
Good
well
and
let's
and
let's
plan
to
review
that
on
on
friday,
so
that
we've
we
can
have
a
at
least.
Let's
talk
about
your
outline
as
to
which
topics
you're
going
to
discuss
and
what
thing
what
that
means,
and
why
you're?
Why
you've
chosen
this
path
versus
that
path?
That
kind
of
thing:
okay,.
B
B
One
final
thing:
can
we
run
a
maintenance,
ask
you
you
know,
can
you
configure
something
like
hourly
something
on
your
machine
and
you
know
check
after
an
hour
like?
Can
we
check
after
an
hour
whether
those
maintenance
tasks
are
running
or
not,
because
I
tried
doing
something
like
that
and
I
couldn't
get
any
logs.
A
A
A
A
gc
okay,
so,
let's
do
hourly
should
I
terminate
the
one
that
is
running
now:
yeah
yeah,
okay.
So
let's
terminate
that
so
it
says
it's
terminated
now,
if
we
say
hourly
for
commit
graph-
and
we
do
our
and
will
there
be,
there
will
be
log
entries
for
garbage
collection
as
well
right,
yes,
okay
and
are
those
two
enough
or
would
you
like
more?
I
I
think
if
this
yeah,
we
saw
it
enough
for
now.
Okay,
all
right
wait
a
sec,
so
you
say
those
two
are
enough
or
do
you
want
more
yeah?
That's
fine!
A
A
And
then
I
say,
save
save
and
then
now
now
I
can
say
execute
and
now,
if
I
go
into
the
log,
I
should
have
cleared
the
log
at
that
judicious
point.
I'm
going
to
clear
it
now!
Okay!
Now,
if
I
look
at
log
records,
it
will
tell
me:
oh
you
cleared
it
right,
so
I
cleared
it,
but
there's
a
there's,
a
task
running,
it's
just
hourly.
So
I
know
oh,
oh!
So
I
right
so
it'll
happen
it.
A
It
probably
has
not
happened
yet
good
yeah,
okay,
so
that
that
means
tomorrow,
12
hours
from
now
when
I
get
up
and
I'm
functional
again
I'll
check
this
to
see
what
the
log
says
you
will
have
to
see
at
least
12
logs.
So
I.
B
Hope
so
right,
yeah-
and
I
added
this
thing-
you
know
a
hash
thing
in
this,
so
you
know
so
that
it
schedules
the
task
you
know
randomly
to
not
generate
load,
so
we'll
have
to
check
that.
Also
so
great
I
tried
doing
it.
I
couldn't
see
it
so
if
you
could
see
it.
A
A
D
C
E
A
But
I
think
I'm
okay
with
that
right,
so
git
commit
fix
test
that
I
broke
earlier.
A
Now
I'm
curious
what
which
of
these
I
was
expecting
to
see
one
of
them.
Oh
there.
It
is
one
two,
seven,
seven,
okay
good,
so
the
changes
that
I
just
pushed
have
been
detected
and
the
job
has
started:
yeah,
okay,
yeah.
So
it's
still
doing
the
checkout,
but
at
least
it
has
well
now
wait
a
second.
Why
is
it
not
showing
the
changes.