CRASH RLCOVLRY

CRASH RLCOVLRY
Uhapter
Uhapter
-
-
10
10
888l0 00ß00¢l8
800090f¶ N0l0008
0000k¢0lßll߶
ß8ll$ ßl¶0fll0M
Basic Concepts
Basic Concepts

Recovery
Recovery
is a process that restores
is a process that restores
the database to some state very
the database to some state very
close to the point of failure.
close to the point of failure.

log or journal or trail:
log or journal or trail:
all transaction
all transaction
operations are entered.
operations are entered.

Generally, the log is kept in a place
Generally, the log is kept in a place
(disk) where there is no damage or
(disk) where there is no damage or
failure occurs.
failure occurs.
Lxample
Lxample
Commit
Commit
9
9
End
End
8
8
W(B)
W(B)
7
7
B=7000
B=7000
B = B+1000
B = B+1000
6
6
B=6000
B=6000
R(B)
R(B)
5
5
W(A)
W(A)
4
4
A=4000
A=4000
A = A
A = A
-
-
1000
1000
3
3
A=5000
A=5000
R(A)
R(A)
2
2
Begin
Begin
1
1
T1
T1
1ypes of Iailures
1ypes of Iailures

Soítware íailures:
Soítware íailures:
bad input, o·erílow, resource limit
bad input, o·erílow, resource limit
exceeded, etc
exceeded, etc

lardware íailures:
lardware íailures:
Processor íailures. Processor íailures.
lalt, delay, restart, berserk, etc. lalt, delay, restart, berserk, etc.
Memory,Storage íailures. Memory,Storage íailures.
1ransient errors. 1ransient errors.
Disk crash. Disk crash.

Non
Non
-
-
reco·erable íailures:
reco·erable íailures:
OS deletes critical DB íiles,
OS deletes critical DB íiles,
some DBMS bugs, hardware catastrophic íailures,
some DBMS bugs, hardware catastrophic íailures,
nuclear attack, and so on.
nuclear attack, and so on.
Recovery Methods
Recovery Methods

Undo ,Backup Reco·ery,
Undo ,Backup Reco·ery,

Redo ,lorward Reco·ery,
Redo ,lorward Reco·ery,
Database
With
changes
Undo
Before
Image
Database
Without
changes
Database
Without
changes
Redo
After
Image
Database
With
changes
Log based Recovery
Log based Recovery

\hat is a log record·
\hat is a log record·
Start oí 1ransaction Start oí 1ransaction <1, Start> <1, Start>
\rite Operation: \rite Operation: W(X) W(X) <1, X, old: V, new: W> <1, X, old: V, new: W>
Lnd oí 1ransaction Lnd oí 1ransaction <1, Lnd> <1, Lnd>
Commit oí 1ransaction Commit oí 1ransaction <1, Commit> <1, Commit>
Lxample
Lxample
1J 12 13
R(X) R(A) R(Z)
X = X - J00 A = A + 200 Z = Z ÷ S00
W(X) W(A) W(Z)
R(Y)
Y = Y + J00
W(Y)
Y 400 900 8Uß Z T3 Y
N 1200 1000 A00 A T2 Y
N Not done 800 A00 Y T1 Y
N 400 500 8Uß X T1 Y
6omm|t? Redo|A|HC Undo | ß|HC 0perat|ons Tx |0 Tx ßeg|n
400 Redo 900 900 Z
1000 Undo 1000 1000 A
800 Undo 800 800 Y
500 Undo 400 500 X
Recovered va|ue Undo|Redo ßefore Fa||ure |n|t|a| Va|ues
Write
Write
-
-
Ahead Logging (WAL)
Ahead Logging (WAL)

1he value of a database object before its update
1he value of a database object before its update
(called as
(called as
before image
before image
) cannot be overwritten by
) cannot be overwritten by
its new value i.e. after its update (called as
its new value i.e. after its update (called as
after
after
image
image
), until all Undo log records (log entries of
), until all Undo log records (log entries of
all write operations before update) for the
all write operations before update) for the
updating information is force
updating information is force
-
-
written to disk.
written to disk.

1he commit operation of a transaction cannot be
1he commit operation of a transaction cannot be
completed until all the Redo (log entries of all
completed until all the Redo (log entries of all
write operations after its update) and Undo log
write operations after its update) and Undo log
records are fore
records are fore
-
-
written to disk.
written to disk.
Log Lntries
Log Lntries
-
-
Lxample
Lxample
T1 T2
R(A) R(A)
A = A ÷ 50 A = A ÷ 10
R(8) w(A)
8 = 8 ÷ 100 R(0)
w(8) 0 = 0 - 1
R(C) R(E)
C = 2 ¯ C R(8)
w(C) E = E ÷ 8
w(A) w(E)
0 = 0 ÷ E
w(0)
A=100, 8=300, C=5, 0=ê0, E=80
1. <T1, slarl>
2. <T1, 8, o|d: 300, reW: 100>
3. <T1, C, o|d: 5, reW: 10>
1. <T1, A, o|d: 100, reW: 5ê0>
5. <T1, Corr|l>
ê. <T2, 3larl>
Z. <T2, A, o|d: 5ê0, reW: 5Z0>
8. <T2, E, o|d: 80, reW: 180>
9. <T2, 0, o|d: ê0, reW: 530>
10. <T2, Corr|l>
(2) Undo/Redo Protocol (Immediate Update)
(2) Undo/Redo Protocol (Immediate Update)

Does not wait for the transaction to commit.
Does not wait for the transaction to commit.
Ior each update operation, changes are
Ior each update operation, changes are
written into log immediately.
written into log immediately.

Protocol:
Protocol:
Step
Step
-
-
J:
J:
Redo all transactions íor which the log
Redo all transactions íor which the log
has both
has both
Start
Start
and
and
Commit
Commit
entries.
entries.
Step
Step
-
-
2:
2:
Undo all transactions íor which the log
Undo all transactions íor which the log
has
has
Start
Start
entry but no commit entry.
entry but no commit entry.
Lxample
Lxample
Last |nstruct|on Last |nstruct|on Act|on Act|on 6onsequence 6onsequence
| = 0 | = 0 Noth|ng Noth|ng Ne|ther T1 nor T2 Ne|ther T1 nor T2
ran. ran.
1 1 ≤ ≤≤ ≤ ≤ ≤≤ ≤ | | ≤ ≤≤ ≤ ≤ ≤≤ ≤ 4 4 Undo T1: Undo T1: T1 has not run. T1 has not run.
Restore the va|ues of var|ab|es Restore the va|ues of var|ab|es
as per | as per |- -1 to |ts o|d va|ues. 1 to |ts o|d va|ues.
5 5 ≤ ≤≤ ≤ ≤ ≤≤ ≤ | | ≤ ≤≤ ≤ ≤ ≤≤ ≤ 9 9 Redo T1: Redo T1: T1 ran and not T2. T1 ran and not T2.
8et the va|ues of the var|ab|es 8et the va|ues of the var|ab|es
||sted |n | ||sted |n |- -4 to va|ues created by T1. 4 to va|ues created by T1.
Undo T2: Undo T2:
Restore the va|ues of var|ab|es ||sted Restore the va|ues of var|ab|es ||sted
|n | |n |- -9 to those before T2 started 9 to those before T2 started
execut|on. execut|on.
| = 10 | = 10 Redo T1 Redo T1 T1 T1 and T2 both ran. and T2 both ran.
Redo T2 Redo T2
3. Undo/No
3. Undo/No
-
-
Redo Protocol
Redo Protocol
(Immediate Update)
(Immediate Update)

\hy there is no need íor Redo· Ií the reco·ery
\hy there is no need íor Redo· Ií the reco·ery
technique ensures all updates oí a transactions are
technique ensures all updates oí a transactions are
recorded in the database on disk beíore the
recorded in the database on disk beíore the
transaction commits, ob·iously there is no need íor
transaction commits, ob·iously there is no need íor
Redo.
Redo.

1he algorithm íor the Undo,No
1he algorithm íor the Undo,No
-
-
Redo is gi·en below:
Redo is gi·en below:

All changed database objects need to be output to
All changed database objects need to be output to
the disk beíore commit.
the disk beíore commit.

At commit point output ,ílush, all changed
At commit point output ,ílush, all changed
database objects in the cache and commit entry to
database objects in the cache and commit entry to
log.
log.
4. No
4. No
-
-
Undo/Redo Protocol
Undo/Redo Protocol
(Deferred Update)
(Deferred Update)

All updates are recorded in the log.
All updates are recorded in the log.

Aíter the transaction reaches its commit point,
Aíter the transaction reaches its commit point,
the log is íorce
the log is íorce
-
-
written to disk ,i.e. into the
written to disk ,i.e. into the
database,
database,
-
-
deíerred update
deíerred update
.
.

Ií transaction íails beíore commit point, no need
Ií transaction íails beíore commit point, no need
to undo as no updates ha·e been recorded in the
to undo as no updates ha·e been recorded in the
database.
database.

lence, this technique is called as
lence, this technique is called as
No
No
-
-
Undo,Redo protocol.
Undo,Redo protocol.
S. No
S. No
-
-
Undo/No
Undo/No
-
-
Redo Protocol
Redo Protocol
(Shadow Paging)
(Shadow Paging)
1 • •• •
2 • •• •
3 • •• •
4 • •• •
5 • •• •
6urrent d|rectory
(updat|ng pages 2 & 4}
Page 4
(o|d}
Page 1
Page 3
Page 2
(new}
Page 4
(new}
Page 2
(o|d}
• •• • 1
• •• • 2
• •• • 3
• •• • 4
• •• • 5
8hadow d|rectory

During the transaction execution two directories are
During the transaction execution two directories are
maintained ,1,
maintained ,1,
current,
current,
and ,2,
and ,2,
shadow
shadow
.
.

1he current directory entries point to the most recent
1he current directory entries point to the most recent
database pages on disk. 1he shadow directory gets the
database pages on disk. 1he shadow directory gets the
copy oí the current directory.
copy oí the current directory.

1he current directory is used by the transaction.
1he current directory is used by the transaction.

\hen a
\hen a
rrite
rrite
operation is períormed a new copy oí the
operation is períormed a new copy oí the
page is created.
page is created.

1hen the current directory entry points to the new
1hen the current directory entry points to the new
block, whereas the shadow directory points to the old
block, whereas the shadow directory points to the old
entries.
entries.

Reco·ering írom crash is easy as íollows: make the
Reco·ering írom crash is easy as íollows: make the
current directory entry to point to the old page, which
current directory entry to point to the old page, which
was pointed by the shadow directory.
was pointed by the shadow directory.
Handling the Buffer Pool
Handling the Buffer Pool

Steal approach:
Steal approach:

Can the changes made to a database object
Can the changes made to a database object
`
`
in the
in the
buííer pool by a transaction
buííer pool by a transaction
1
1
be written to disk
be written to disk
beíore
beíore
1
1
commits·
commits·

Because, some other 1ransaction may bring in a new
Because, some other 1ransaction may bring in a new
page trying to replace the írame containing
page trying to replace the írame containing
`
`
.
.

Ií this kind oí write is allowed, then "steal" approach
Ií this kind oí write is allowed, then "steal" approach
is used.
is used.

Iorce approach:
Iorce approach:

\hen a 1ransaction
\hen a 1ransaction
1
1
commits, should we íorce
commits, should we íorce
write all changes made in the buííer pool to disk· Ií
write all changes made in the buííer pool to disk· Ií
so, then "lorce" approach is used.
so, then "lorce" approach is used.
Handling the Buffer Pool
Handling the Buffer Pool
Desired Desired
Trivial Trivial
No No- -8tea| 8tea|
8tea| 8tea|
No No- -Force Force
Force Force

No
No
-
-
Steal, Iorce:
Steal, Iorce:

No
No
-
-
Steal
Steal
-
-
no need to undo
no need to undo

lorce
lorce
-
-
no need to redo
no need to redo

Drawbacks
Drawbacks
-
-
No
No
-
-
steal assumes that all modiíied pages
steal assumes that all modiíied pages
should be accommodated in the buííer , may not be
should be accommodated in the buííer , may not be
possible íor large transactions,. lorce approach in·ol·es
possible íor large transactions,. lorce approach in·ol·es
more I,O work.
more I,O work.

lence, Steal and No
lence, Steal and No
-
-
lorce method is used by many DBMS.
lorce method is used by many DBMS.
CHLCKPOIN1ING
CHLCKPOIN1ING

During the execution oí the transaction, periodically
During the execution oí the transaction, periodically
períorm
períorm
checkpointing
checkpointing
. 1his includes:
. 1his includes:

Output the log buííers to the log.
Output the log buííers to the log.

lorce
lorce
-
-
write the database buííers to the disk.
write the database buííers to the disk.

Output an entry ·checkpoint· on the log.
Output an entry ·checkpoint· on the log.

During the reco·ery process, períorm the íollowing
During the reco·ery process, períorm the íollowing
two steps:
two steps:
1. Undo all transactions that ha·e not committed.
1. Undo all transactions that ha·e not committed.
2. Redo all transactions that ha·e committed aíter
2. Redo all transactions that ha·e committed aíter
checkpoint.
checkpoint.
Lxample
Lxample
T|re
T|re
Tc
Tc
Tl
Tl
T1
T1
T2
T2
T3
T3
T1
T1
T1 - 0|.
T2 & T3 - Redo.
T1 - urdo.
Tc - Crec|po|rl.
Tl - Fa||ure.
ARILS ALGORI1HM
ARILS ALGORI1HM

´teat
´teat
: Cache management policies may e·ict a dirty page
: Cache management policies may e·ict a dirty page
or buííer. 1his may cause uncommitted write back.. In
or buííer. 1his may cause uncommitted write back.. In
ARILS no constraints on buííer íetch and e·iction.
ARILS no constraints on buííer íetch and e·iction.

last commit:
last commit:
vo
vo
·
·
force
force

írer, tog recora ba. a í´^. .t recorer,, tog recora. cav be
írer, tog recora ba. a í´^. .t recorer,, tog recora. cav be
retrierea efficievtt,.
retrierea efficievtt,.

Kee¡ a trav.actiov tabte iv vevor,, ritb a recora for eacb actir
Kee¡ a trav.actiov tabte iv vevor,, ritb a recora for eacb actir
e
e
trav.actiov.
trav.actiov.

Maivtaiv a bac/rara tiv/ea ti.t of tog recora. for eacb
Maivtaiv a bac/rara tiv/ea ti.t of tog recora. for eacb
trav.actiov. 1bat i., rrite tbe trav.actiov´. cvrrevt
trav.actiov. 1bat i., rrite tbe trav.actiov´. cvrrevt
lastLSN
lastLSN
ivto eacb ver tog recora.
ivto eacb ver tog recora.
ARILS Structure
ARILS Structure
÷
÷
1he Dirty Page List
1he Dirty Page List

ARILS maintains a table oí descriptors íor dirty pages.
ARILS maintains a table oí descriptors íor dirty pages.

\hen the page is updated, sa·e the LSN oí the log
\hen the page is updated, sa·e the LSN oí the log
record containing the update in the page descriptor's
record containing the update in the page descriptor's
¡ageí´^
¡ageí´^
.
.

Ií an update dirties a clean page, sa·e the LSN in the
Ií an update dirties a clean page, sa·e the LSN in the
page descriptor's
page descriptor's
recorer,í´^
recorer,í´^
,oldest log record that
,oldest log record that
might be needed to reconstruct the page during
might be needed to reconstruct the page during
reco·ery,.
reco·ery,.

\hen a dirty page is cleaned, mark clean and remo·e
\hen a dirty page is cleaned, mark clean and remo·e
írom dirty page list. 1hen, sa·e its current
írom dirty page list. 1hen, sa·e its current
¡ageí´^
¡ageí´^
on
on
disk. 1his helps which updates must be redone.
disk. 1his helps which updates must be redone.
ARILS Recovery
ARILS Recovery

Dirty pages are written out.
Dirty pages are written out.

Periodic checkpoints write the dirty page list and
Periodic checkpoints write the dirty page list and
transaction table to stable storage.
transaction table to stable storage.

It is saíe to discard all older the
It is saíe to discard all older the
recorer,í´^
recorer,í´^


the oldest page in the dirty page list ,this is
the oldest page in the dirty page list ,this is
fir.tí´^
fir.tí´^
,.
,.

On reco·ery, use sa·ed
On reco·ery, use sa·ed
recorer,í´^
recorer,í´^
and
and
¡ageí´^
¡ageí´^
to minimize the reco·ery time.
to minimize the reco·ery time.
ARILS ALGORI1HM
ARILS ALGORI1HM
Basically the ARILS algorithm períorms three steps aíter
Basically the ARILS algorithm períorms three steps aíter
a crash:
a crash:

Analysis:
Analysis:
linds all pages that ha·e not been written to
linds all pages that ha·e not been written to
disk ,
disk ,
airt, ¡age.
airt, ¡age.
, and all acti·e transactions at the time oí
, and all acti·e transactions at the time oí
crash.
crash.

Redo:
Redo:
Repeats all the statements in the log ,at an
Repeats all the statements in the log ,at an
appropriate point, and restore the database to a state
appropriate point, and restore the database to a state
similar to beíore crash has occurred.
similar to beíore crash has occurred.

Undo:
Undo:
Undoes the operations oí transactions those did
Undoes the operations oí transactions those did
not commit ,similar to Undo,Redo protocol,.
not commit ,similar to Undo,Redo protocol,.
Notations
Notations

Log Sequence Number (LSN):
Log Sequence Number (LSN):
It is a unique id
It is a unique id
gi·en to e·ery log record.
gi·en to e·ery log record.

pageLSN
pageLSN
:
:
LSN oí the most recent log record that
LSN oí the most recent log record that
describes the change to this page.
describes the change to this page.

prevLSN
prevLSN
:
:
Points to the pre·ious log record.
Points to the pre·ious log record.

transID
transID
:
:
1ransaction ID.
1ransaction ID.

type:
type:
type oí log record ,update , compensation,.
type oí log record ,update , compensation,.

Update Log Records:
Update Log Records:
1he structure oí the update
1he structure oí the update
log record is gi·en below:
log record is gi·en below:
·
·
pre·LSN
pre·LSN
,
,
transID
transID
,
,
typepageID
typepageID
, length
, length
-
-
oííset,
oííset,
beíore
beíore
-
-
image, aíter
image, aíter
-
-
image·
image·
Notations
Notations
.
.
..
..

Compensation Log Record (CLR):
Compensation Log Record (CLR):
1his record
1his record
describes the action taken to Undo operations
describes the action taken to Undo operations
recorded in the corresponding update log record.
recorded in the corresponding update log record.

1ransaction table:
1ransaction table:
1his table contains one entry íor
1his table contains one entry íor
each acti·e transaction.
each acti·e transaction.

lastLSN
lastLSN
:
:
LSN oí the most recent log record oí an
LSN oí the most recent log record oí an
acti·e transaction.
acti·e transaction.

Dirty page table:
Dirty page table:
1his table contains one entry íor
1his table contains one entry íor
each dirty page in the buííer. Lntry is remo·ed aíter
each dirty page in the buííer. Lntry is remo·ed aíter
the page is ílushed to disk.
the page is ílushed to disk.

recoveryLSN
recoveryLSN
:
:
LSN oí the íirst log record that caused
LSN oí the íirst log record that caused
the page to become dirty.
the page to become dirty.
Lxample
Lxample
pagel0 recL3N
P5
PZ

0|rty Page Tab|e
lrarsl0 |aslL3N
T1
T2
Transact|on Tab|e
prevL3N lrarsl0 lype pagel0 |erglr ollsel 8-lr A-lr
Nu|| T1 u P5 1 ê0 10 100
Nu|| T2 u PZ 1 11 20 200
T2 u P5 1 20 30 300
T1 u Pê 1 ê0 10 100
Log
RLCOVLRY USING
RLCOVLRY USING
ARILS ALGORI1HM
ARILS ALGORI1HM

Analysis Phase:
Analysis Phase:
0|desl |og records
ol a|| acl|ve
lrarsacl|ors |r
Trarsacl|or lao|e
3ra||esl recL3N
|r lre d|rly page
lao|e
Tre |alesl
crec|po|rl
records
3ysler Crasr
urdo
Redo
Ara|ys|s
Lxample
Lxample
L3N Log
00 8eg|r_Crec|po|rl
05 Erd_Crec|po|rl
10 updale: T1 Wr|les P5
20 updale: T2 Wr|les P3
30 Aoorl: T1
10 CLR: urdo T1 L3N 10
15 Erd: T1
50 updale: T3 Wr|les P1
ê0 updale: T2 Wr|les P5
CRA3l

Analysis Phase:
Analysis Phase:
Acl|ve lrarsacl|ors = T2 ard T3 Acl|ve lrarsacl|ors = T2 ard T3. .
Looser lrarsacl|ors = T2 ard T3 Looser lrarsacl|ors = T2 ard T3. .
0|rly pages = P1 0|rly pages = P1, , P3, ard P5 P3, ard P5. .
wry T1 |s aoorled?: rol oecause ol a sysler crasr. wrer a wry T1 |s aoorled?: rol oecause ol a sysler crasr. wrer a
lrarsacl|or |s aoorled |ls updales rave lo oe ro||ed oac|. To ro lrarsacl|or |s aoorled |ls updales rave lo oe ro||ed oac|. To ro||oac| ||oac|
lre updales lo||oW lre oe|oW ru|es: lre updales lo||oW lre oe|oW ru|es:
0el lre 0el lre |aslL3N |aslL3N ol T lror lrarsacl|or lao|e. ol T lror lrarsacl|or lao|e.
Fo||oW lre cra|r ol |og records oac|Ward v|a Fo||oW lre cra|r ol |og records oac|Ward v|a prevL3N prevL3N va|ue |r va|ue |r
lre currerl |og record. lre currerl |og record.
8elore slarl|rg urdo, Wr|le 8elore slarl|rg urdo, Wr|le CLR CLR. .
Al lre erd ol urdo, Wr|le ard Al lre erd ol urdo, Wr|le ard Erd Erd |og record. |og record.
Al L3N = 30, lrarsacl|or T1 |s aoorled ard so lrere |s a CLR erl Al L3N = 30, lrarsacl|or T1 |s aoorled ard so lrere |s a CLR erlry al ry al
L3N L3N = = 10 10 ( (CLR: urdo T1 L3N 10), oecause lre lrarsacl|or lao|e CLR: urdo T1 L3N 10), oecause lre lrarsacl|or lao|e
Wou|d g|ve T1 as lre acl|ve lrarsacl|or. Aller lre urdo lrere |s Wou|d g|ve T1 as lre acl|ve lrarsacl|or. Aller lre urdo lrere |s
arolrer CLR erlry al L3N arolrer CLR erlry al L3N = = 15 15 ( (EN0: T1 EN0: T1). ).
3|rce, T2 ras rod|l|ed P3 ard P5 ard T3 ras rod|l|ed page P1. 3|rce, T2 ras rod|l|ed P3 ard P5 ard T3 ras rod|l|ed page P1.
Trerelore, P1 Trerelore, P1, , P3, P5 oecore d|rly pages. P3, P5 oecore d|rly pages.

Redo Phase:
Redo Phase:
Tre Redo prase rol|ces lral lre sra||esl
Tre Redo prase rol|ces lral lre sra||esl
va|ue ol
va|ue ol
recL3N
recL3N
ol a|| pages |r lre d|rly page lao|e. lr our
ol a|| pages |r lre d|rly page lao|e. lr our
exarp|e, P5 W||| rave lre rosl recerl L3N
exarp|e, P5 W||| rave lre rosl recerl L3N
(
(
recL3N
recL3N
) va|ue
) va|ue
|.e. ê0 |r lre d|rly page lao|e, oecause lre updale ol lr|s
|.e. ê0 |r lre d|rly page lao|e, oecause lre updale ol lr|s
page |s c|oser lo lre po|rl ol crasr. Trer pages P1 ard P3
page |s c|oser lo lre po|rl ol crasr. Trer pages P1 ard P3
are lourd as lre pages Wrose updales rave lo oe redore.
are lourd as lre pages Wrose updales rave lo oe redore.

Undo phase:
Undo phase:
Tourdo
Tourdo
= {L3N 50, L3N ê0¦
= {L3N 50, L3N ê0¦
3e|ecl|rg lre |argesl L3N va|ue lror lr|s sel g|ves us
3e|ecl|rg lre |argesl L3N va|ue lror lr|s sel g|ves us
L3N = ê0 (oecause, urdo rusl slarl W|lr rosl recerl L3N
L3N = ê0 (oecause, urdo rusl slarl W|lr rosl recerl L3N
|og erlry). Tre page P5 |s urdore, ard lrer P1 ard P3 are
|og erlry). Tre page P5 |s urdore, ard lrer P1 ard P3 are
urdore. For eacr urdo ra|e ar erlry |rlo |og.
urdore. For eacr urdo ra|e ar erlry |rlo |og.

Tr|s corp|eles lre recovery process.
Tr|s corp|eles lre recovery process.
Lnd of Chapter
Lnd of Chapter
-
-
J0
J0