►
From YouTube: Ceph RGW Refactoring Meeting 2023-01-22
Description
Join us every Wednesday for the Ceph RGW Refactoring meeting: https://ceph.io/en/community/meetups
Ceph website: https://ceph.io
Ceph blog: https://ceph.io/en/news/blog/
Contribute to Ceph: https://ceph.io/en/developers/contribute
What is Ceph: https://ceph.io/en/discover/
B
B
They
kind
of
the
challenges
that
we
have
in
coverity
is
that
we
have
kind
of
two
things
synopsis.
This
is
a
company
that
owns
Clarity,
they
have
like
they
do
scans
for
open
source
project
and
they
kind
of
give
free
their
software,
which
is
the
scanner
and
also
all
the
web,
UI
and
database,
and
whatever
that
kind
of
manages
the
issues
and
it
it's
pretty
easy
to
use
that
it
have
a
great
API
and
I
mean
a
great
UI,
and
you
can.
B
You
can
mark
the
different
issues
like
if
the
false
positives
or
you're
going
to
fix
them
and
document
The
Trackers
and
run
queries
if
you
want
to
kind
of
narrow
down
only
let's
say
on
rgw
issues
and
so
on.
So
this
is
very
easy.
The
the
problem
is
that
we
don't
control
anything
there,
so
they
run
it.
B
I
don't
know
exactly
when
and
on
which
version
so,
which
means
that
the
feedback
loop
is
kind
of
problematic,
so
you
could
be
fixing
something,
but
the
issue
would
remain
there,
because
it's
not
necessarily
that
they're
going
to
run
that
in
a
timely
manner
on
the
on
the
new
version.
B
So
this
is
one
thing.
The
other
thing
is
that
we're
running
on
I,
think
on
in
the
sepia
lab
care,
literally
that
I'm
not
sure
if
he's
on
the
call
so
so
Caleb
create
a
setup
where
you
we
run
Clarity
tool
and
we
just
post
the
result
into
a
static
web
page,
and
this
is
done.
I,
don't
know
how
often,
but
pretty
often
and
anyway
sorry
it's.
B
Main,
okay,
okay,
so
that
that
gives
you
pretty
excellent
feedback
on
new
issues
and
on
issues
that
you
fixed
and
so
on
kind
of
the
problem,
though,
is
it's:
the
the
output
is
a
static
web
page,
so
you
cannot
Mark
anything
like
as
a
false,
positive
or
and
also
filtering
issues
according
to
all
kind
of
criterias
is
I
mean
it's
not
really
possible.
B
You
can
do
a
search
on
rgw
and
hope
that
you'll
find
all
agility
issues
also
the
they
do
have
like
a
severity
or
impact
level,
and
usually
you
want
to
look
at
the
high
and
sometimes
medium
level,
because
the
low
level
usually
not
worth
addressing-
and
this
is
also
not
possible
with
the
static
because
I
don't
think
it
even
appears
in
the
in
the
HTML
output.
B
That's
in
the
static
web
page,
the
what
I
found
out
is
that
and-
and
this
is
actually
I-
think
it's
good,
regardless
of
whether
you
see
the
the
web
UI
or
the
static
web
page.
Is
that
there's
a
way
to
annotate
the
code
to
ignore
issues?
B
So
I
think
this
is
better
because
this
really
gives
us
full
control
on
what
we
think
is
false
positive
and
we
don't
we're
not
at
the
mercy
of
some
database
owned
by
some
other
companies
synopsis
in
this
case,
to
store
all
the
information
and
like
who
knows,
maybe
in
the
future
they'll
decide
on.
We
actually,
you
know
we're
not
giving
this
free
service
for
saf.
B
B
Maybe
just
one
comment
a
couple
months
back
when
we
started
to
use
gravity
or
when
I
start
to
use
commodity
I
run
us
into
the
issues
and
of
course
you
know
there
are
lots
of
false
body
and
so
on
and
so
forth,
but
there
were
at
least
a
couple
of
real
bugs
that
were
found
so
real,
meaningful
bugs
that
were
found.
B
There
was
also
a
bunch
of
things
that
are
not
exactly
bugs,
but
were
worthwhile
fixing,
so
I
would
say
that,
in
spite
of
the
the
fact
that
we
have
lots
of
false
positive,
the
tool
is
useful
and
I
would
suggest
to
continue
to
use
it,
because,
even
if
they're
like,
even
even
if
it's
one
to
ten
ratio
of
false
positive
to
real
issues,
then
you
find
real
crashes
in
real
bugs
through
the
through
the
tool.
So
it's
it's
worthwhile
yeah.
B
So,
as
I
said,
what
I
want
to
write
here
for
discussion
is
kind
of.
Can
we
agree
on
on
a
direction?
Do
we
want
to
continue
to
use
the
web
UI,
or
do
we
want
to
go
for
the
static
options
option
combined
with
with
the
code
annotation?
That
kind
of
at
least
would
clear
the
false
positives.
B
Okay,
now
maybe
another
thing
that
we
may
do,
but
that
would
probably
require
more
work.
Is
that
I
I
don't
know?
Maybe
Caleb
knows
there's
also
on
top
of
creating
HTML
output
from
the
tool
you
can
create
Json
output
from
the
tool
and
I
wasn't
sure,
but
maybe
the
Json
output
could
be
more
useful
for
at
least
filtering
or
creating
separate,
separate
static,
Pages,
let's
say
for
rgw
versus
OSD
versus
some
other
components.
So.
A
B
A
B
I
I
mean
as
part
of
the
gsoc
project.
It
will
be
the
student
that
does
that,
but,
generally
speaking,
I'm
not
sure
I
mean
ideally
I,
don't
know
if
this
is
possible.
Ideally
there
could
be
like
opening
trackers
automatically
I.
Don't
think
that's
a
good
idea,
but.
B
Maybe
like
I'm,
not
I'm,
not
sure
how
long
does
it
take
to
run
the
coverity
scan
Kelly?
Do
you
know
how
much
time
it
takes.
C
B
Okay,
so
and
I
think
what
you
said
is
that
the
tool
itself
is
is
doesn't
require
license
right.
It's
just
that
the
web
UI
requires
a
license.
C
No,
the
the
analyze
needs
to
be
on
the
red
hat
intranet
so
that
it
can
reach
the
license
server.
B
B
Yeah,
okay,
okay,
I,
see,
then
then
process
wise,
I,
don't
see
any
any
option
like
you
know,
we
cannot
put
it
as
part
of
like
a
tautology
job
or
something
that
anyone
can
can
run
or
we
can
you
know
or
say
that
we're
going
to
run
that
whenever
we
have
like
a
baseline
for
release
or
something
like
that,
because
we
we
cannot
really
outrun
that
Upstream,
so
I
guess
the
the
only
thing
I
can
think
of
is
that
we
publish
the
results.
Upstream.
B
Maybe
we
can
maybe
we
can
build
some
tool
that
would
make
it
easier
to
I
mean
a
manual
tool
but
to
make
make
it
easier
to
open
a
Tracker
based
on
the
issue
that
somebody
decides.
B
Is
it's
a
true
issue,
but
I'm
not
sure
I
mean
if
the
tool
can
only
run
in
in
a
license
environment,
then
I
I,
don't
know
exactly
what
we
can
do
there
I
mean
we
cannot
run
it
into
told
you
or
in
junkins
or
anything.
A
So
taking
stuff's
telemetry
as
an
example,
they
there's
a
separate
telemetry.stuff.io
mailing
list
that
gets
a
daily
report
of
the
of
the
unique
crashes.
So
maybe
something
like
that
could
could
report
on
whether
there
are
new
issues.
A
Okay
I
mean.
If,
if
we're
storing
the
Json
output
somewhere,
then
we
could
have
a
crown
job
that
that
runs
and
scans.
That
and
potentially
opens
tracker
issues,
but
that
could
be
discussed
kind
of
as
a
a
later
stage
thing.
B
Okay,
yeah
so
I
guess
I
mean
when
it
comes
to
the
student
there's
no
much
process
to
put
in
in
place.
It's
just
that
he'll
he'll
he'll
do
as
much
cleanup
as
he
can
and
fix
the
issues
and
annotating
the
code,
the
false
positive.
So
we
don't
care
like
whether
we
have
the
web,
UI
or
all
runs.
B
If
it's
in
the
code,
it's
the
code
and
against
I
guess
once
once
it's
done,
then
we'll
we
can
see
what
we're
facing
like
how
much
how
much
issues
we
have
there
and
whether
it's
it
worthwhile
kind
of
building
some
kind
of
an
automation
system
around
that.
A
And
I
agree
with
your
sentiment
that
static
analysis
is
really
helpful,
so
I
want
all
that
we
can
get.
D
A
All
right
next
on
the
agenda
is
related
to
rgw
abdj.
Manifest
there's
been
some
discussion,
create
this
PR
about
the
d3n
filter,
which
I'll
link
in
the
agenda.
A
So
the
question
there
was
whether
the
object
manifests.
A
D
D
So
it
used
to
be
in
the
API,
and
I
did
actually
do
to
actually
do
explicit
work
to
remove
it
from
the
API
and
I
thought
that
had
been
it,
but
I
had
missed
the
uses
of
it
pulling
it
out
of
the
attribute.
D
Looking
at
the
uses
of
the
attribute,
it
looks
like
there's
only
two
actual
use
cases
for
it.
One
is
to
check
for
cloud
S3
and
the
other
is
to
to
get
a
decryption
filter.
D
D
A
A
Manifest,
what
exactly
it
needs
there
for
compression.
We
also
have
to
store
like
the
compression
blocks,
but
that's
in
an
attribute
of
its
own,
so
it
might
make
sense
to
convert
the
decryption
stuff
into
its
own
attribute,
but
yeah.
A
All
right
and
I
mean
if,
if
the
intent
is
that
nothing
above
our
GW
app
can
access
this,
is
there
something
we
should
do
special
with
the
rgw
adder
manifest
or
I?
Guess
we
can
just
hide
the
the
object
manifest
type
behind
the
rados
back
end,
so
rgw
app
wouldn't
know
how
to
decode.
D
D
A
D
A
One,
the
only
issue
with
store-specific
attributes
I
can
think
of
is
what
multi-site
sync
would
do
with
them
if
it's
syncing
an
object
to
a
different
back
end,
but
I
think
there
will
be
a
lot
of
other
issues
like
that.
Trying
to
abstract
multi-site
yeah.
A
F
G
Yeah
I
really
don't
have
much
here,
but
I
know
Downstream
with
red
hat
and
IBM.
We
do
have
a
customer
that
would
like
the
results
of
sync
status,
to
be
something
they
can
export
and
visualize
in
Prometheus
I'm.
Looking
through
the
issue
they
raised
and.
G
I
guess
it
seems
like
we
need
to
I
mean.
If
we're
going
to
pursue
this
line
of
work,
it
seems
like
we're
going
to
need
to
flesh
out
what
exactly
it
would
be.
We'd
want
to
send
out
to
Prometheus.
That's
one
aspect
of
it,
but
the
other
aspect
of
it
is
is
actually
making
some
kind
of
cash
for
these
I'm.
Gonna
guess
I,
don't
know
Casey
now
that
you
know
a
little
bit
more
about
the
labeled
capabilities.
G
We've
added
and
taking
a
look
at
that
issue,
I'm
wondering
if
you
might
have
any
idea
what
at
least
the
the
high
level
gaps
are
or
things
we
would
need
to
work
on.
If
this
becomes
a
project.
G
A
In
in
the
context
of
this
dashboard
project,
kind
of
the
challenges
of
presenting
counter-like
information
or
presenting
multi-site
sync
status,
specifically
in
terms
of
counters
like
that
mm-hmm,
because
I
I
feel
like
what
an
admin
would
want
to
know.
Most
is
like
how
far
behind
sync
is
how
many
objects
are
left
to
sync,
how
much.
G
A
It's
going
to
take
and
that's
information
that
we
can't
really
calculate
for
them
and
so
I,
don't
know,
I
think
it's
a
hard
problem.
A
G
Yeah
I
mean
I
figured
given
the
lack
of
specifics
so
far.
It
is
a
hard
problem.
I
was
hoping.
Matt
would
be
on
this
call,
but
I
forgot
that
he's
in
he's
probably
busy
in
New
York
I
know
he
had
some
thoughts
on
this
area,
but
they
were
pretty
General
from
what
I
remember.
A
Okay,
so
I'm,
looking
through
this
tracker
issue
and
I
did
describe
what
admin
apis.
We
have
to
expose
sync
status
information,
so
a
arrest
client
could
potentially
generate
the
same
information
that
the
rados
GW
admin
sync
status
command
can,
but
it
would
still
be
hard
to
present
that
in
in
a
useful
way
in
Prometheus,
at
least
in
my
opinion,.
G
Okay,
yeah
the
the
the
the
conclusion
you
had
about
the
admin
wanting
to
know
how
far
how
behind
sync
is.
It
seemed
to
be
what
Matt
was
thinking
too,
but
I
just
wanted
to
put
this
on
you
and
the
then.
This
group's
radar
is
something
that
I
want
to
at
least
look
into
a
little
more
over
the
next
couple
weeks
to
see,
if
there's
something
right
to.
A
Might
be
a
useful
view,
but
it
it
won't.
I
mean
you'd
have
to
like
extrapolate
based
on
the
slope
of
that
to
figure
out
how
long
it's
going
to
take
for
everything
to
catch
up.
Yeah.
G
Okay,
I'll,
keep
that
in
mind.
I'll
read
that
tracker
issue
in
detail
and
take
a
look
at
the
current
sync
counters
as
well.
I
think
that
that
labeled
PR
should
get
merged
sometime
soon.
E
E
E
Or
do
you
or
is
it
expected
that
we
need
some
kind
of
an
ETA
of
when
all
the
objects
will
be
saint.
F
D
A
E
A
F
A
Jane
have
have
you
guys
at
Bloomberg
had
any
discussions
about
multi-site
observability
that
would
fit
into
this.
G
A
C
I,
don't
really
have
a
lot
to
say
here,
except
that
it's
kind
of
a
big,
it's
a
pretty
big
change.
It's
not
and
and
I
have
I
need
to
learn
about
unique
pointers
in
this
using
syntax.
So
I
don't
know
whether
you
know
it
would
be
better
to
have
somebody
that
somebody
like
Dan.
That
knows
already
knows
this
stuff
see
Dan's,
oh
Dan
is
on
the
call
so
or
that
notwithstanding
I
mean
it's
not
that
I
object,
I,
don't
have
any
objection
to
it.
C
It's
just
a
pretty
big
change,
because
the
driver,
if
we
make
the
if
we
make
the
driver,
a
unique
pointer
and
and
there's
uses
all
over
the
place.
So
it's
not
a
it's.
Not
a
two
or
three
line
fix
or
change
is
all
I'm,
not
sure
what
else
there
is
to
say
about
it
really
other
than
I
just
wanted
to
run
it
by
you
and
Dan.
D
Yeah
I
mean
making
those
functions
return.
Unique
pointers
should
be
pretty
easy.
You
just
have
them
return,
make
unique,
but
you're
right
anytime.
We
pass
the
driver
into
something
else
which
happens
all
over
the
place.
Those
all
need
to
be
modified.
So
it'll,
be
you
know,
a
thousand
line
changes
or
something
like
that.
A
D
Let's
see,
oh,
it
looks
like
it
might
be:
okay,
it
looks
like
it's
done
through
a
getter
anyway,
so
that
should
be
pretty
easy.
I
think
this
might
be
something
that
we
do
post
or
separately
from
the
the
module.
A
Okay,
well,
if
you
guys
have
thoughts
on
this,
you're
welcome
to
share
them
on
the
Upstream
Dev
list.