►
From YouTube: 2019-05-14:: Crimson SeaStor OSD Weekly Meeting
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).
C
A
Need
something
like
we
need
something
that
is
like
the
moral
equivalent
of
that
thing,
where
every
work
queue
thread
loudly
complains
if
something
throws
an
exception
in
these
dark,
it
is
problematic
like
if
Kody
in
a
future
throws
an
exception.
Unless
you
specifically
caught
it
somewhere,
it
just
like
disappears
the
reactor
just
throws
it
away.
A
B
A
A
A
There's
pretty
much
no
case
where
it's
okay,
for
an
exception,
to
bubble
all
the
way
up
to
the
reactor.
That
should
never
happen.
It
should
either
be
caught
further
down
the
future
chin,
because
you
knew
an
exception
could
happen
and
you
accounted
for
it
or
it's
an
exception
that
you
genuinely
didn't
think
of
properly
made
sure
you
should
crash
the
osteen
or
it
could
be
caught
more
granularly.
It
could
be
something
like
you
could
consider
the
PG
to
be
poisoned,
but
that's
hard
to
reason
about
so.
A
True,
that
part
is
bad.
You
can
still
see
where,
in
okay,
so
I
believe
the
exception
does
still
have
enough
information
to
work
back
to
what
the
line
number
where
it
actually
crashed
was,
and
that
will
give
you
the
back-trace
up
to
the
point
where
that
future
started
or
where
that
continuation
was.
B
A
B
A
B
A
B
B
And
the
last
week,
I
I
was
working
on
preparing
for
the
year's
slice
for
silicon.
We're
working
with
the
radar
net
and
I
mean
meanwhile
I
was
try
to
assess
product
of
it
is
I'm
trying
to
rethink
about
the
year
that
the
stare
persists
and
how
we
tested
a
tester
Krim
stealthy,
because
it's
a
it's
a
pain
to
to
restart
the
mr.
Kloster.
Every
time
I
I
I
run,
the
right
has
an
R.
It
has
so
I
try
to
implement
and
the
ops
required
by
reduce
cleanup.
B
It's
basically
what
he
tells
to
enumerate
the
object
injecting
into
the
poor
and
try
to
removal
them
or
so
ops
annotated
for
this
poor
forest
for
first
for
supporting
these
little
utility.
Why
is
that
PG&E
RS,
a
new
mate
enumerate
object
in
the
range
and
another
is
to
to
remove
an
object,
spending
our
review
and
that's
how
I
have
come
a.
B
D
B
D
D
B
A
Are
you
trying
to
get
the
maximum
throughput
on
a
machine,
or
are
you
trying
to
get
a
comparison
of
CPUs,
just
a
thought
you
could
pin
classical
ac21
core?
That
would
be
another
way
to
get
that
answer.
Just
for
the
record.
It's
not
totally
fair
of
clásicos.
They
would
have
to
do
more
threat,
switching
that
it
would
normally
have
to
do,
but
classic
Louis.
He
also
has
way
more
threats
than
horse
nor
Blaine.
So
I'm
not
sure.
It's
really
that
big
a
difference.
Just
yes,.
B
A
D
D
Has
to
produces
memory
so
that
memory
can
be
used.
It's
not,
it
can
be
used.
Memories
is
numb
volunteer.
So
do
we
consider
how
to
use
it
to
improve
this
F
performance
because
it
can
be
used
a
memory
and
there
isn't
no
mana
chair
introduces
register.
The
memory
is
faster
as
memory
close,
the
performance
are
close
to
the
memory.
Yeah
yeah,
a.
E
D
A
A
The
trick
is
that
persistent
memory
is
by
addressable,
but
it's
not.
It
doesn't
have
any
easy
transaction
machinery
built
into
it
right.
So
the
problem
isn't
that
the
data
won't
be
there
when
it
comes
back
up
its
said,
it'll
be
nonsense,
so
Intel
itself
actually
has
libraries
that
they
really
really
really
really
want.
People
using
because
different
resistant
memory
is
gonna,
have
different
primitives
for
doing
atomic
operations
and
such
so.
What
we
probably
do
is
sort
of
there's
generally
I,
think
some
way
to
configure
the
persistent
memories
of.
A
However
much
you
want
is
configured
in
this
mode,
that's
usable
by
this
Intel
library.
Then
we
would
stage
everything
we
possibly
can
or
an
I/o
directly
to
that
they
possibly
even
directly
out
of
the
network
card.
Right,
though,
they'll
be
the
best-case
scenario
that
we
don't
even
have
to
copy
it
and
then
consider
it
committed
at
that
point
and
then
more
slowly
stage
it
back
off
the
cheaper
nvme,
while
keeping
probably
the
metadata
in
person.
D
A
Right
exactly,
it's
probably
always
gonna
be
the
case
that
there's
gonna
be
something
cheaper
than
versus
new
memory.
So
it
will
likely
be
the
case
that
you
want
a
hierarchical
approach
like
you
just
assumed
something
like
persistent
memory
exists
at
the
top,
and
you
try
to
back
pyo's
immediately
with
that,
but
they'll
probably
still
want
a
deist
agit,
something
slower
I.
E
A
A
D
D
D
So
when
I
build
that
they're
being
packaged
and
either
used
to
say,
deploy
to
deploy
a
cluster
across
the
at
least
include
to
server
I
want
onto
tested
that
person
OS
key
in
this
on
the
bear.
Mental
I
think
it's
a
true
bare
metal
service,
so
I
failed.
The
Debian
package
and
use
the
safe
deploy
to
deploy
the
cluster
and
they'll
be
packaged,
feel
the
success.
I
didn't
see
any
error,
but
when
I
use
the
self
deploy
to
install
the
safe
package-
and
it
is
always
said
that
the
package
is
broken-
couldn't
install.
A
A
A
D
D
D
He
said
it's
excise,
it
can
be
installed,
but
on
my
machine
doesn't
work,
so
I
am
trying
to
figure
out
what
its
problem
so
I
try.
Every
server
attempts
and
the
different
different
versions
is
the
same
problem
under
then
I
just
used
to
make
to
build
it
to
use
the
mic
to
build
a
self
and
a
Mickey
stall.
When
I
used
the
server
deploy
to
start
a
monitor,
they
decided
come
on.
There
cannot
be
started,
so
maybe
something
wrong
with
mine.
A
Actually,
is
it.
D
D
D
D
A
A
C
D
D
D
A
D
A
A
E
E
B
E
You
they
and
that
we
made
branches
with
topics
that
words
when
finally
allowed
to
make
the
testing
some
of
the
of
those
weeks
have
been
already
merged,
but
I'm
looking
for
a
way
to
to
fight
the
problem
with
Latins
introduced
by
a
message
batching
into
more
elaborate
way
for
testing
it
was
just
it
was
just
short
repeated
attempt
for
away
from
being
happy.
We
were
doing
that
this
side
of
the
investigation.
E
If
I
saw
your
comments,
thanks,
I'm
addressing
them
and
also
make
appending
some
comets
for
cleanup
around
PG
and
VG
bucket
class,
for
instance,
we
are
Stern,
Oh,
OSD,
adulty
class
stirs
uses
the
star
the
CN
star
last
a
unique
pointer,
but
it's
all
the
bird
inside
the
pity
bucket
and
so
I
switched
from
a
unique
pointer
in
OSD
to
turn
low
weight
PR
in
OSD
and
pity.
Button
on
the
entire
path
is
I'm
handling
the
object
stir
by
a
SharePoint
there
now.
E
E
Right
now,
I'm
work,
I'm,
I'm
working
on
weird
thing:
it's
about
the
caching,
basically
the
shirt
Ilario
he
should
uses
al.
We
are
paying
a
high
price
for
caching,
not
sure
it's
really
necessary.
I
would
expect.
Well
when
it
comes
to
random
random
operations.
That
probe
the
likelihood
of
a
phat
cache
hit.
I
would
say
it's
quite
small.
The
cache
ISM,
the
cache
is
simple.
E
Ilario
is
milan
to
Antillean.
It
definitely
can
expect,
can
help
a
lot
with
sequential
operations,
but
it's
it's
not
per
client.
It
doesn't
depend
on
client,
it's
not
connected
to
a
client.
It's
it's
PG
back
end.
It's
a
proper
education
to
even
multiple
multiple
clients
are
doing
sequential
operations.
Those
entries
are
mixed
for
them.
I'm
thinking
about
about
separating
cache
about
making
the
cache
per
per
quiet
actually,
which
consciousness.
A
Well,
for
one
thing:
if
we're
using
share
dollar
LRU
for
that
that
was
never
written
to
be
performant
at
all,
like
it's
not
fast
or
not
fast,
it's
not
fast
at
all,
like
the
easy
back-end
has
a
custom
cache,
because
there's
no
way
sure
to
LRU
is
efficient.
It's
not.
It
allocates
like
crazy.
A
A
You
should
optimize
it,
though
so
the
nice
thing
my
sure
to
LRU
is
that
it's
template
it
inconvenient
to
use
so
for
things
like
OSD
map
that
are
very
rarely
updated,
where
it's
only
real
purpose
is
to
make
sure
that
we
don't
have
two
copies
of
an
OSD
map
around.
It's
fine,
that's
no
problem!
If
we
want
an
actual
perform
at
all,
are
you
with
some
properties
like
we
should
write
a
new
one?
I,
don't
think
we
really
want
to
change.
E
E
A
Not
cache
object
controls,
that's
actually
a
valid
point
for
one
thing:
it'll
be
double
caching
right,
any
reasonable
D
store
implementation
once
that
happens
will
have
some
kind
of
metadata.
Caching
right,
but
we're
really
saving
time
on,
is
loading
the
buffer
list,
and
that
may
be
valuable,
I'm,
not
sure
about
that
that
that
could
actually
be
worth
it
or
not.
It's
on
its
own,
but.
A
E
A
At
a
slightly,
even
even
for
writes,
it
will
be.
We
need
to
be
able
to
project
state
because
there
will
be
pipelined
writes
on
the
same
object
where
you
have
to
distinguish
between
committed
state
and
currently
projected
state
for
in
progress
iOS.
We
will
need
an
object
context.
We
will
need
to
ensure
you
take
this.
So
for
that
reason,
having
a
sure
pointer
thing
is
certainly
convenient
right,
because
it
just
does
that.
That's
what
it's
there
for.
E
A
I
mean,
if
you
think
about
it,
what
you
really
want
is
when
you
read
an
object
context,
you
want
to
create
a
heap
structure
that
has
the
object
context,
and
then
you
want
a
list.
Whatever
header
thingy
in
the
struct,
that
you
link
into
the
LRU,
you
don't
want
to
be
allocating
anything
about
half
right,
because
the
answer
context
is
only
ever
going
to
be
present
what
LRU.
So
we
don't
actually
need
anything
containing
a
pointer
to
the
object
context
like
we
have
now.
That's
how
shirt
LRU
right
works
right.
A
E
A
A
E
E
E
A
Looking
putting
things
into
the
LRU
and
manipulating
the
LRU
like
okay
I
got
an
item
now
I
need
you
to
move
it
to
the
top
of
the
LRU.
Neither
of
those
should
allocate.
You
should
just
be
manipulating
pointers
present
in
the
struct
up
into
a
set
and
also
a
list
right.
It's
the
normal
way
of
doing
of
what
external,
for
instance,
how.
A
E
A
Put
it
up
which
allocates
for
everything
you
put
in
it
right,
because
this
doesn't
make
any
assumptions
about
the
types
you're
putting
into
it.
It
can't
assume
it
has
list
hooks
ears.
If
look
up
the
implementation
of
boost
intrusive
list,
I.
Think
that
all
straight
the
difference
with
boost
intrusive
list,
you
have
to
add
a
type
either
in
in
the
struct.
A
E
A
A
E
A
E
Well,
it's
about
testing,
it's
catching!
It's
not
a
it's,
not
a
priority.
For
now
global
registry
will
be.
Basically,
we
need
to
guarantee
that
if
arrived
is,
is
a
modifying
operation
is
ongoing,
updates
value,
the
value
of
the
value
of
object.
Context
can
be
op
can
be
manipulated
by
only
one
operation
in
a
given
time.
So
I
guess.
A
Actually,
not
zero,
that's
actually
not
true,
either
it's
it's
much
worse
than
that.
That's
that's
the
problem.
There
are
two
pieces
of
intro
so
for
for
every
field.
That
represents
the
object
as
it
exists.
There
are
two
versions:
there's
the
current
committed
version,
which
is
what
you'll
get.
If
you
cut
the
power
to
the
OSD
right
now
and
restart
it
and
then
there's
the
current
projected
version.
A
The
projected
version
is
what
will
be
true
of
the
object
of
all
pending
I/o
completes
and
that's
what
you
use
to
validate
parameters
to
operations
like
that's
how
you
find
out
whether
you're
writing
past
the
end
of
the
object
or
reading
a
bit
that
exists
that
kind
of
stuff.
It's
also
the
case
that
a
read
may
need.
E
Using
that
that's
using
to
object
context
in
Ian
for
operation,
one
is
one
is
the
current
existing.
Second
one
will
be
first
changed.
Yes,
although
we
yes,
we
are
using.
We
are
currently
on
in
crimson.
We
are
using
single
object
context
and
it's
fine
till
I.
Well,
I
bet
it
will
be
till
we
can
guarantee.
There
is
single
accessor
that
there
is
single
mutator
to
to
this
object
context.
I'm.
A
Mean,
though,
generally
speaking,
I
can
think
off
the
top
of
my
head
of
at
least
three
things
we
need
to
worry
about
that
can
mutate
OSD
metadata
and
on
disks
date.
Io
operations
from
clients
will
turn
into
something
some
kind
of
state
machine
that
represents
that
process
as
it
goes
through,
whatever
it
needs
to
do.
Additionally,
recovery
operations
will
need
to
update
whether
an
object
is
even
readable
at
all
and
which
OS
DS.
It's
all
in
state
like
that.
A
We'll
want
to
remember-
and
you
also
have
to
update
like
whether
it's
missing
that
kind
of
crap
wait
object.
Context
probably
contain
a
wait
list,
probably
I'm
guessing.
This
is
all
stuff.
We're
gonna
want
to
talk
about
and
or
slowed
up
by
the
way,
and
finally
scrubbed,
for
instance,
often
needs
to
block
an
operation
just
because
you
need
a
consistent
view
of
the
operation
for
a
brief
period.
A
That's
just
quick
like
if
we
ever
choose
to
do
snap
trimming
that
too,
because
that
will
need
to
look
at
the
current
snap
state
and
modify
it
it's.
What
I'm
saying
is
it's
not
ever
gonna
be
the
case
that
just
one
operation
is
ever
touching
the
object
context.
We're
gonna
have
to
think
carefully
about
how
all
of
these
different
state
machines
interact.
E
A
C
A
E
A
We're
not
we're
not
designing
for
the
münster
validation,
we're
designing
for
one
that
actually
does
IO
right.
That's
what
I'm
talking
about
ultimately
I
would
expect
an
actual
the
process
of
the
process
of
processing
at
MOS
d
app
could
go
from
either
from
zero
gaps.
In
the
case
that
we
call
to
the.
E
A
Relatively
simple
operation
that
goes
directly
to
the
disk,
it's
already
in
cache
or
just
whoops
right
back
out
right,
no
problem,
but
it
could
be
much
longer.
It
could
be.
A
multi-stage
operation
like
like
our
VDS
operations,
are
often
very
long,
they're
dependent
right,
readwrite
chains
because
at
the
object
classes
it's
not
that
will
necessarily
implement
those
immediately,
but
we
want
to
think
about
how
they'll
fit
together.
That's
all.
A
No
I
don't
think
what
a
mutex
either,
because
the
mutex
protects
against
wrote.
One
really
specific
thing:
it
protects
against
like
two
things
when
we
attending
the
same
thing
at
the
same
time,
what
we
want
to
do
was
we
wanted
to
find
okay,
these
are
the
possible
stages
and
IO
kandyan
and
in
stage
zero
you're
allowed
to
do
these
things
in
stage
one
you're
allowed
to
do
these
things.
Stage
two
you're
allowed
to
do
these
things,
and
as
long
as
we
make
sure
that
there's
only
ever
that
operations
never
cross
each
other.
A
E
A
E
The
entire
idea
is
to
is
to
get
to
have
one
only
one
user
of
let's
forget
about
the
rich.
For
a
second,
let's
say
we
are
talking
only
about
tracks.
The
idea
will
be
to
have
only
one
user
of
the
object
context
if
you
grab,
if
you,
if
you
grab
context
from
the
global
registry,
but
the
other
can
grab
it
till
you
don't
return,
it
I
got.
A
It
Yeah
right
so
that
means
that
this
or
future
is
now
blocked
and
sits
in
the
reactor
until
this
promises
and
that
mean
released
or
actually
do
promise,
however,
promises
if
Leonard
are
they
actually
wait
lists?
Is
that
how
that
works?
So
one
reason
why
we
may
or
may
not
want
to
do
that
is
we
want
to
know
why
up
operation
is
blocked
is
the
short
answer
we
want
to
know
for
debugging
purposes
a
priori
like
right.
Now,
there's
a
running
OSD
on
customer,
but
on
a
customer
server.
Why
is
it
not
making
progress
right?
A
So
we
want
to
be
able
to
dump
all
of
the
current
operations
and
find
out
why
they're
blocked
we
could
really
dig
in
and
extend
seastar
so
that
it
can
generally
reason
about
the
block
chains,
but
Wow
definitely
need
to
not
say
that
sorry,
the
blocking
dependencies
between
futures
and
promises.
So
if
they're
annotated
and
you
can
sort
of
figure
out
why
something's
blocked-
or
we
could
just
say-
hey,
you're-
not
blocked
on
this
promise,
your
block
to
the
stage
in
your
state
machine
that
says
you're
waiting
for
the
object
context.
You
you
need
right.
A
Yeah,
but
where
this
isn't,
the
only
place
things
are
gonna
block,
they're
gonna
be
like
four
of
these,
maybe
six
longer
like
many
of
them.
Many
of
them
will
be
incredibly
rare.
You'll
hardly
ever
stop
there,
but
when
you
do
stop
there,
you
really
want
to
know
right.
So
we
want
to
be
able
to
reason
about
all
these
things
kind
of
the
same
way,
and
it
would
be
nice
if
they
were
like
one
place
in
the
code
where
you
look
and
go.
Oh,
this
is
what
no.
A
E
A
A
A
I
mean
it's
not
it's
not
that
we
need
a
lot
more.
It's
just
that
we
want
to
be
deliberate
about
it.
It
would
be
good
to
like
I
think
in
Barcelona.
It
would
be
a
good
exercise
to
sort
of
game
out
how
recovery,
for
instance,
interacts
with
client
IO
in
classic
and
then
sort
of
think
about
okay,
so
which
of
these
things
are
relevant
for
crimson
or
how
do
we
want
to
handle
that?
Can
we
just
ignore
some
of
it
or
what's
the
simplest
structure
that
gets
us
everything
we
need.
A
B
A
That
was
bad
about
I,
didn't
update
it
before,
but
updating
a
little
bit
more
now,
I'm
also
not
sure
how
smart
it
is
to
have
a
ton
of
futures
in
the
sea
star
reactor,
but,
on
the
other
hand,
I
guess
you
don't
know
that
much
about
the
way
it's
implemented,
so
I
do
not
know,
in
other
words,
I'm
concerned
that
if
you
have
too
many
possibly
runnable
futures,
it
slows
down
the
reactors.
Processing
thing
I've,
also
worried
about
priority,
inversion
and
a
whole
bunch
of
other
stuff
that
operating
usually
take
care
of
for
us.
A
In
other
words,
if
it's
just
a
free
for
okay,
so,
for
instance,
in
the
object
context
thing,
it
will
often
be
the
case
that
there
are
two
things
waiting
and
one
of
them
is
important
than
the
other.
One
really
isn't
that's
true
of
both
snap
trimming
and
scrub.
So
in
that
case,
you
can't
just
win
into
promise.
You
have
to
win
on
a
promise
with
some
sort
of
concept
of
priority
and
already
that's
starting
to
overload
the
promise
concept.
A
little
more
than
I
think
is
a
good
idea.
B
B
E
B
C
So
yeah,
maybe
we
can
provide
it
later
or
and
I
also
found
from
my
testing
I
test
several
rounds
because
I
found
some.
Some
data
is
not
accurate.
I
just
found
that
sometimes
I
think
messengers
performance
is
not
very
stable.
Sometimes
it
is
very
good,
and
sometimes
not
it's
not
good.
So
I
just
did
it's
more
some
more
times
to
to
try
to
get
some
perfect
number
to
some
more
accurate
numbers
in
my
data
and
that's
all.
B
C
So
I
just
wrong
like
wrong.
If
I
found
some
some
date,
hard
doesn't
make
sense.
For
example,
sometimes
it's
it's
ten
seconds.
Some
time
is
20
seconds,
so
I
just
run
a
specific
case
down
more
times
and
and
if
we
T
goes
to
stable
state
and
I
just
pick
three
of
them
and
this
and
calculate
the
average
number
so.
B
B
A
B
B
B
B
B
A
Also
be
fine
evening
or
I'm
getting
in
like
middle
of
day
and
Friday
I'm
around
all
the
time,
then
I'd
be
fine
talking
any
day
during
cube
gun,
it's
interesting,
but
this
is
probably
more
important
but
yeah
an
evening
works
for
me
too.
That's
totally
fine,
but
we.
B
B
B
B
B
A
Quick
quick
question
yeah,
so
just
for
one
thing,
my
status
I
have
got
like
a
single
OSD
up
and
activating
with
a
PG.
So
that's
that's
good
or
V
start
I
mean
it
like
started
working
18
minutes
ago.
So
I
have
to
clean
up
the
PR,
but
I
should
be
able
to
pass
it
up
or
two
before
the
we
take
whatever
so
I
should
be
able
to
send
up,
maybe
this
week
or
depending
on
flights,
maybe
next
week
whatever.
A
Additionally,
though
so
V
start,
if
I'm
understanding
it
correctly
currently
will
just
not
it
doesn't
demonize
it
all.
What
you
realizing
it's
what
we
were
talking
about
two
weeks
ago,
we
we.