diff --git a/RFS/docs/RFS_Worker_HL_System.svg b/RFS/docs/RFS_Worker_HL_System.svg index c70631a626..97b7183105 100644 --- a/RFS/docs/RFS_Worker_HL_System.svg +++ b/RFS/docs/RFS_Worker_HL_System.svg @@ -1,3 +1 @@ - - -
Source Cluster
[Not supported by viewer]
Target
 Cluster
[Not supported by viewer]
Snapshot
Store
[Not supported by viewer]
Initiate
Snapshot
[Not supported by viewer]
Save
Snapshot
[Not supported by viewer]
Retrieve Source
Data
Retrieve Source<br>Data
Use For Work
Coordination
Use For Work<br>Coordination
Migrate Source
Data
Migrate Source<br>Data
RFS Worker Fleet
<b>RFS Worker Fleet</b>
RFS Worker
<div><b>RFS Worker</b></div>
RFS Worker
<div><b>RFS Worker</b></div>
RFS Worker
<div><b>RFS Worker</b></div>
Operator
[Not supported by viewer]
\ No newline at end of file +
Source Cluster
[Not supported by viewer]
Target
Cluster
[Not supported by viewer]
Snapshot
Store
[Not supported by viewer]
Initiate
Snapshot
[Not supported by viewer]
Save
Snapshot
[Not supported by viewer]
Retrieve Source
Data
Retrieve Source<br>Data
Use For Work
Coordination
Use For Work<br>Coordination
Migrate Source
Data
Migrate Source<br>Data
RFS Worker Fleet
<b>RFS Worker Fleet</b>
RFS Worker
<div><b>RFS Worker</b></div>
RFS Worker
<div><b>RFS Worker</b></div>
RFS Worker
<div><b>RFS Worker</b></div>
Operator
[Not supported by viewer]
\ No newline at end of file diff --git a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_library_diagram.svg b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_library_diagram.svg index 142c5a8d02..0e608e1c0f 100644 --- a/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_library_diagram.svg +++ b/TrafficCapture/dockerSolution/src/main/docker/migrationConsole/lib/console_link/console_library_diagram.svg @@ -1,21 +1 @@ - - - - - - - - CLIWeb APILibrarySource ClusterTarget ClusterServices \ No newline at end of file +CLIWeb APILibrarySource ClusterTarget ClusterServices \ No newline at end of file diff --git a/docs/diagrams/ActivityDiagram.svg b/docs/diagrams/ActivityDiagram.svg index 2d51e8943b..15178d5786 100644 --- a/docs/diagrams/ActivityDiagram.svg +++ b/docs/diagrams/ActivityDiagram.svg @@ -1,2 +1 @@ - -
User Deploys
Migration Infrastructure
User Deploys <br>Migration Infrastructure
Source Traffic Logging, Replay, & Tools
Source Traffic Logging, Replay, & Tools
Customer has a source cluster
that clients are reading and writing to
Customer has a source cluster<br>that clients are reading and writing to
User Accepts
the Risks and Costs
Conveyed
[Not supported by viewer]
no
no
yes
yes
Historical Backfill to
Target Cluster Begins
Historical Backfill to <br>Target Cluster Begins
RESTful, Snapshot Restore, from primary data source
RESTful, Snapshot Restore, from primary data source
Logged Traffic is Replayed
to the Target Cluster
Logged Traffic is Replayed <br>to the Target Cluster
Results are streamed out for a current or future reader
Results are streamed out for a current or future reader
User Observes Ongoing
Progress in the Dashboard
User Observes Ongoing <br>Progress in the Dashboard
Performance, Behavioral Similarity, Costs incurred
Performance, Behavioral Similarity, Costs incurred
User is 
Happy with the 
Results?
[Not supported by viewer]
no
no
yes
yes
Does the Target Cluster need to be reconfigured
[Not supported by viewer]
no
no
yes
yes
Guided Configuration of
the Target Cluster
Guided Configuration of<br>the Target Cluster
Source Traffic Logging, Replay, & Tools
Source Traffic Logging, Replay, & Tools
Do Request
Transformations need
to be updated 
[Not supported by viewer]
no
no
yes
yes
Target Cluster Responses
are Compared to Source Cluster Responses  
Target Cluster Responses<br>are Compared to Source Cluster Responses  
Comparison results are tagged to trace which rules were used to evaluate differences
Comparison results are tagged to trace which rules were used to evaluate differences
Do the
Comparison Rules need to be
 updated
[Not supported by viewer]
no
no
yes
yes
Synchronize to Clusters and Prevent Writes
<div>Synchronize to Clusters and Prevent Writes</div>
Replays are accelerated drain backlogs.
Read sentinels are passed through the source cluster
Replays are accelerated drain backlogs.<br>Read sentinels are passed through the source cluster
Backfill Complete
<span>Backfill Complete</span>
All sentinels sent to all the source
nodes are received by the Target
[Not supported by viewer]
User Deletes all
Migration Resources
[Not supported by viewer]
User Deletes all Target Clusters
[Not supported by viewer]
User Upgrades Clients and
Moves bypasses Compatibility Shim
[Not supported by viewer]
User Swings Traffic to the Target Cluster
<span><b>User Swings Traffic to the Target Cluster</b></span>
Assessment
[Not supported by viewer]
\ No newline at end of file +
User Deploys
Migration Infrastructure
User Deploys <br>Migration Infrastructure
Source Traffic Logging, Replay, & Tools
Source Traffic Logging, Replay, & Tools
Customer has a source cluster
that clients are reading and writing to
Customer has a source cluster<br>that clients are reading and writing to
User Accepts
the Risks and Costs
Conveyed
[Not supported by viewer]
no
no
yes
yes
Historical Backfill to
Target Cluster Begins
Historical Backfill to <br>Target Cluster Begins
RESTful, Snapshot Restore, from primary data source
RESTful, Snapshot Restore, from primary data source
Logged Traffic is Replayed
to the Target Cluster
Logged Traffic is Replayed <br>to the Target Cluster
Results are streamed out for a current or future reader
Results are streamed out for a current or future reader
User Observes Ongoing
Progress in the Dashboard
User Observes Ongoing <br>Progress in the Dashboard
Performance, Behavioral Similarity, Costs incurred
Performance, Behavioral Similarity, Costs incurred
User is
Happy with the
Results?
[Not supported by viewer]
no
no
yes
yes
Does the Target Cluster need to be reconfigured
[Not supported by viewer]
no
no
yes
yes
Guided Configuration of
the Target Cluster
Guided Configuration of<br>the Target Cluster
Source Traffic Logging, Replay, & Tools
Source Traffic Logging, Replay, & Tools
Do Request
Transformations need
to be updated
[Not supported by viewer]
no
no
yes
yes
Target Cluster Responses
are Compared to Source Cluster Responses
Target Cluster Responses<br>are Compared to Source Cluster Responses
Comparison results are tagged to trace which rules were used to evaluate differences
Comparison results are tagged to trace which rules were used to evaluate differences
Do the
Comparison Rules need to be
updated
[Not supported by viewer]
no
no
yes
yes
Synchronize to Clusters and Prevent Writes
<div>Synchronize to Clusters and Prevent Writes</div>
Replays are accelerated drain backlogs.
Read sentinels are passed through the source cluster
Replays are accelerated drain backlogs.<br>Read sentinels are passed through the source cluster
Backfill Complete
<span>Backfill Complete</span>
All sentinels sent to all the source
nodes are received by the Target
[Not supported by viewer]
User Deletes all
Migration Resources
[Not supported by viewer]
User Deletes all Target Clusters
[Not supported by viewer]
User Upgrades Clients and
Moves bypasses Compatibility Shim
[Not supported by viewer]
User Swings Traffic to the Target Cluster
<span><b>User Swings Traffic to the Target Cluster</b></span>
Assessment
[Not supported by viewer]
\ No newline at end of file diff --git a/docs/diagrams/CapturedSourceReplay.svg b/docs/diagrams/CapturedSourceReplay.svg index e27ba226ce..10e2fb3901 100644 --- a/docs/diagrams/CapturedSourceReplay.svg +++ b/docs/diagrams/CapturedSourceReplay.svg @@ -1,2 +1 @@ - -
Per Prospective Target Cluster
Per Prospective Target Cluster
Per Source Cluster Traffic Logs
Per Source Cluster Traffic Logs
Traffic (Log)
 Streams1
[Not supported by viewer]
1) The log streams, with timestamps as accurate as is possible, are a complete sequence of traffic packets or requests and responses from a source cluster and its clients.  Log Streams can have two different durability guarantees, which are described in subsequent diagrams.
2) We may need to restart replays to new clusters and captures/tests could cover weeks' worth of data for some customers.  Directing all of the captured logs to long-term storage allows us to replay from the beginning of the test to a new cluster.
3) Amendments may be added between replay runs.  This is where data .  These may be in the form of additional messages or transformations (split msg X into new messages Y & Z).
4) Amendments to the replay stream may be made as data is being processed if the traffic comparator determines that a may have yielded different results due to transient/causality issues.  In such cases, it may issue a retry to improve the likelihood of a match and/or to give the customer more information.
5) Replayers may be seated in one network or across many.  They are fed streams that are segmented by index, with mutations (PUT, UPDATE, DELETE) for each index being handled on no more than one replayer. 
[Not supported by viewer]


<div><br></div><div><b><br></b></div>

<div><br></div>
Replayers5
[Not supported by viewer]

<div><br></div>

<div><br></div>
Target Cluster
Target Cluster
Target Index-Sharded
Chronological
 Traffic Channels
[Not supported by viewer]
Historical
Traffic Logs
2
[Not supported by viewer]
User Amendments3
<div>User Amendments<sup>3</sup></div>
Consolidated
Log Stream
[Not supported by viewer]
Migration
Supervisor
[Not supported by viewer]
Traffic Comparator
<div>Traffic Comparator</div>
Traffic Replay
Channel
[Not supported by viewer]
Control Plane
<b>Control Plane</b>
Non-Matching
Query
Retries4
[Not supported by viewer]
Migration Dashboard
<div><b>Migration Dashboard</b></div>
\ No newline at end of file +
Per Prospective Target Cluster
Per Prospective Target Cluster
Per Source Cluster Traffic Logs
Per Source Cluster Traffic Logs
Traffic (Log)
Streams1
[Not supported by viewer]
1) The log streams, with timestamps as accurate as is possible, are a complete sequence of traffic packets or requests and responses from a source cluster and its clients. Log Streams can have two different durability guarantees, which are described in subsequent diagrams.
2) We may need to restart replays to new clusters and captures/tests could cover weeks' worth of data for some customers. Directing all of the captured logs to long-term storage allows us to replay from the beginning of the test to a new cluster.
3) Amendments may be added between replay runs. This is where data . These may be in the form of additional messages or transformations (split msg X into new messages Y & Z).
4) Amendments to the replay stream may be made as data is being processed if the traffic comparator determines that a may have yielded different results due to transient/causality issues. In such cases, it may issue a retry to improve the likelihood of a match and/or to give the customer more information.
5) Replayers may be seated in one network or across many. They are fed streams that are segmented by index, with mutations (PUT, UPDATE, DELETE) for each index being handled on no more than one replayer.
[Not supported by viewer]


<div><br></div><div><b><br></b></div>

<div><br></div>
Replayers5
[Not supported by viewer]

<div><br></div>

<div><br></div>
Target Cluster
Target Cluster
Target Index-Sharded
Chronological
Traffic Channels
[Not supported by viewer]
Historical
Traffic Logs
2
[Not supported by viewer]
User Amendments3
<div>User Amendments<sup>3</sup></div>
Consolidated
Log Stream
[Not supported by viewer]
Migration
Supervisor
[Not supported by viewer]
Traffic Comparator
<div>Traffic Comparator</div>
Traffic Replay
Channel
[Not supported by viewer]
Control Plane
<b>Control Plane</b>
Non-Matching
Query
Retries4
[Not supported by viewer]
Migration Dashboard
<div><b>Migration Dashboard</b></div>
\ No newline at end of file diff --git a/docs/diagrams/Dashboard.svg b/docs/diagrams/Dashboard.svg index f82f719b8f..e899a7c865 100644 --- a/docs/diagrams/Dashboard.svg +++ b/docs/diagrams/Dashboard.svg @@ -1,2 +1 @@ - -
<div></div>
Programmatically Deployed Infrastructure 
<div></div><b>Programmatically Deployed </b><b>Infrastructure </b>
Source Cluster
<div><b>Source Cluster</b></div>
Target Cluster
Target Cluster
Replayer

[Not supported by viewer]
Historical
Capture


[Not supported by viewer]
Target Cluster
Deployment
[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
Source/Target
Traffic Stream

[Not supported by viewer]
Configuration Discovery,
Historical Capture Configuration,
Progress Monitoring
[Not supported by viewer]
User Defined Request Transforms,
Replay Speed, &
 Progress Watcher
[Not supported by viewer]
User Comparisons
User Comparisons
User Amendments
User Amendments
Deploy Request
Transforms 
that were 
vetted by
Replay
[Not supported by viewer]
Configure IaC well-suited
 for the initial configuration
 and requirements 
[Not supported by viewer]
Chaos Testing,
Progress
Monitoring
[Not supported by viewer]
Progress & Performance
Progress & Performance
Deploy the Migration Rig
for each Target Cluster
being Compared 
[Not supported by viewer]
Migration
Dashboard
(Orchestrator)
[Not supported by viewer]
Realtime
Report
Repository
[Not supported by viewer]
Compatibility
Shim

[Not supported by viewer]
Traffic
Logging
[Not supported by viewer]
Migration Platform IaC
<div><b>Migration Platform IaC</b><br></div>
\ No newline at end of file +
<div></div>
Programmatically DeployedInfrastructure
<div></div><b>Programmatically Deployed </b><b>Infrastructure </b>
Source Cluster
<div><b>Source Cluster</b></div>
Target Cluster
Target Cluster
Replayer

[Not supported by viewer]
Historical
Capture


[Not supported by viewer]
Target Cluster
Deployment
[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
Source/Target
Traffic Stream

[Not supported by viewer]
Configuration Discovery,
Historical Capture Configuration,
Progress Monitoring
[Not supported by viewer]
User Defined Request Transforms,
Replay Speed, &
Progress Watcher
[Not supported by viewer]
User Comparisons
User Comparisons
User Amendments
User Amendments
Deploy Request
Transforms
that were
vetted by
Replay
[Not supported by viewer]
Configure IaC well-suited
for the initial configuration
and requirements
[Not supported by viewer]
Chaos Testing,
Progress
Monitoring
[Not supported by viewer]
Progress & Performance
Progress & Performance
Deploy the Migration Rig
for each Target Cluster
being Compared
[Not supported by viewer]
Migration
Dashboard
(Orchestrator)
[Not supported by viewer]
Realtime
Report
Repository
[Not supported by viewer]
Compatibility
Shim

[Not supported by viewer]
Traffic
Logging
[Not supported by viewer]
Migration Platform IaC
<div><b>Migration Platform IaC</b><br></div>
\ No newline at end of file diff --git a/docs/diagrams/Lucene_compatibility_chart.svg b/docs/diagrams/Lucene_compatibility_chart.svg index d292e7d26a..8761dd3f6c 100644 --- a/docs/diagrams/Lucene_compatibility_chart.svg +++ b/docs/diagrams/Lucene_compatibility_chart.svg @@ -1,2 +1 @@ -eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dWVfjSNJ971/BYV5cdTAwMDdNZkau/cZcdTAwMGXFvlSxfD2njlx1MDAxN1x1MDAwMS6MXHK22XpO//cvwoAla0N2SUZ0l3tOTZVcdTAwMTc5rcxcdTAwMWJxb2RE5P9+m5ubXHUwMDFmPN/687/PzftPjVq71ezVXHUwMDFl5/9Nzz/4vX6r28GXxPDf/e59rzF859VgcNv//T//XHQ+4TW6Ny+f8tv+jd9cdTAwMTn08X3/h/+em/vf8E98pdWkz7ZcdTAwMWXq389v2bVxg2bjYqvT2vrarlx1MDAwZj86fNPbYHp+Y1DrXFy2/eClJ3yec+dcdGDcKlxyYFxmWFx1MDAxOL38jC8vXGKnPSFcdTAwMDQ4XHSG0f/U6PXHVnNwRZdcdTAwMDDnWVx1MDAxMFxmuFxiXrzyW5dXXHUwMDAzfFVZzzhtTfDSyyh+n2OjZ/qDXvfaX+62uz1cdTAwMWHqv7hP/1x1MDAwNVx1MDAwM63XXHUwMDFh15e97n2nOXrPoFfr9G9rPbwzwfsuWu320eB5eHW8u3gn5yPfcfI6Zlx1MDAxMXk+7VP4pZdXXHUwMDFkv093n4+e7d7WXHUwMDFhrVx1MDAwMd1cdTAwMWbOgl9BI7zdbFx1MDAwZSfqv8GYerVcdTAwMWJ/k2aqc99uj55udZo+3f/5XHUwMDFhjH1bp/n6bW+zXHUwMDFjTCG8PvNXMHbfb1x1MDAwZVx1MDAwN1x1MDAwMVIqabhcdTAwMWO9XHUwMDEyWmpcdTAwMDKiz+52O8NlZ0Bpp7hcdTAwMGVuRqu/gsttMLzqRa3d94MpoKGtRpdieDmOrbaB/1x1MDAxNMxLaLE+rne3+5ur+/Ojl/76d/KVXt6vVlx1MDAxZmx3/U60l74vnVx1MDAxZuhndrZx3lx1MDAxZr/w21fWer3uY97r3m4sPKrj21x1MDAxM3a5uN7ffd7YUo+PR1x1MDAwNVxc985fP7v3v1xyVteb+7vb+nG7zo/u8l339W/Byrm/bdZepoJcdTAwMWLJObfaIJKC2Wy3OtfRZdXuNq6D2fstNOCI1Vx1MDAxOE1EzFCMTd2LjZBcdTAwMWFcdTAwMDGuheRcdTAwMTZcdTAwMTeZXHUwMDEyJmojjPNcdTAwMDBNhEKYp9hcYis9zZ3j1lxuXHUwMDEwUnBcdTAwMTc3XHUwMDE04peFSLNcdTAwMTDfkk3E2NvfbIFCQ+5AcVx1MDAxNkU9zYKLPvlmXG6EXHUwMDA2paxcdTAwMTJTmYK0JcskR4eihZlgyVx1MDAwNsuRliH++u37ht/x52xoXHUwMDBlu53BUevP4bDZ2LNrtZtWm266XHUwMDFhu8xiu3VJP39cdTAwMWWvNPB78+GbMGihx1x1MDAxZL3hptVshj1kXHUwMDAzL1prdfzeZlx1MDAxZVfb7bUuW51a+zh16LX7QffQ779cZn7Qu/fDd8bfeINcdTAwMDL3hErEboYzXHUwMDBmZlnydIuPnphcdG1FwiqT8znm/tV4LF1cdTAwMWauyoutveu12/rq1eXlLl++qVxuyOLGY2jDmPKY1E4gjzGC4WJcdTAwMWa3YdJoT6Fp48ZJq5HNqMjQft72jPiS1p6xiWTJhr71XHUwMDE1z1x1MDAxYYdqcERTWpFJKUVBfv7ybGl34+5p41x1MDAxM/v5d/wxI8aFXGZKhSE8jT9O9rtcdTAwMDGcgas0OFx1MDAwYlx1MDAwYpJcdCaT4Kzyw3k0WdVGMFx1MDAwN89cdTAwMTijmTaKXHQlpI5cIpjPXGbBXHUwMDEyXHRcdTAwMGZ3XHUwMDE2XHUwMDFkplx1MDAwMsd0XHUwMDEylE1cdTAwMWPK3ClcdTAwMTBcdTAwMGW4/Xkoj70wgUOefM1O73bpNq62a310sX2/1mtcXM2ZPzqLuyt/dPZu/c7Ry1N8fuwzhbnqd1xcVNRVTzLOmTjx8CRFUG+Ns6jabLD+XHUwMDAz1Jv8qO/sXGZ8505cdTAwMWbPXHUwMDE3j+pfhLVPXHUwMDA3m6un1TZcdTAwMDGgwLPWWaeM1JbLWKzCeUxcdTAwMTjmXHUwMDA0XHUwMDE3Qkleolx1MDAwMZgw5DFcdTAwMTLq0iBcdGEqXHUwMDEw6p/BmT+u719cdTAwMWXwp+WPXHUwMDE215tcdTAwMGaL1/BlcLf3oDbOxVx1MDAwZVx1MDAxZuj1Rlx1MDAxMSRhZbWz77qbW+2d3e2d44uvm5dLt72iSFx1MDAwMjoqXHUwMDEx0l0lkVx1MDAwNCFisZ83c8FcdTAwMWST0nFjXHUwMDAyLFx1MDAwNfbC5rdcdTAwMTejVVBtXHUwMDEzYYUnjHKKXHUwMDE5cNKx4CovJlx1MDAwMl/mwmoldckmwoLHlCNTpKWWVlx1MDAwNvOTXHUwMDE08XgzXHUwMDEwXHUwMDA2NM2VKoDtT0tcdTAwMTG4sVx1MDAxMFx1MDAxZUDZXHUwMDE04VUlm5KIwDtuLkWzm+LcfVx1MDAxZYFcdTAwMTOxL+O81zpcdTAwMGa9XHUwMDFkLlx1MDAwYimc1qhfx5c0WOVpXHUwMDA2OHHSgXQhYfu2XHUwMDE0mYeOk1HsUOOKdFx1MDAxMpSJL0ZcXK/4LnRPylBcYinkW6tcdTAwMTCNk5HnPzBcdTAwMWG3PJ9cYre4P1x1MDAxNjF//IpywZlcdTAwMDWtXHUwMDAxkmJ0wujosyNLblH/WFx1MDAwZSFwXHUwMDE2XHUwMDEwpaPAsrZOT1x1MDAxNaW77bai1Fwi+NtcXLBkhv9cdTAwMTj9/b//Tn53+jqlR2yFXHUwMDA214u5YaLzy92bm9ZcdTAwMDB/6D5ccjL6g/qDWm+whNPa6lxcjk/f64ZbXHUwMDFlXHUwMDFkMbRujXu6XHUwMDAxXHUwMDBizGNcZiUh4tBJlKHasVx1MDAwMIq02mq3ZP48dEraaORcdTAwMDVcdTAwMWPQXHUwMDA1hd9x0XpcdTAwMWFcdTAwMWZrbP34neb7I85cdTAwMGVShkaMXHUwMDAz5mjs0Vx1MDAxM1wiWbXg8K6L2IA1MmrtJPpKo7RggVx1MDAxYss14OFNXiSbduXXYpjCn1x1MDAxM34tavz8dr37mGszw6xv7p1u6KVcXJtcdTAwMTnOeFxu7SVqcWWNNlx1MDAxMYKAN8Gje8FxesBpZ1x1MDAwM8vzZk5BeIDL0zDU8rhcdTAwMThZomvP4in/aPO5kn8vXHUwMDAzTVx1MDAwMM6QszGDSL8oNcZNuFJcdTAwMWGNSOBcYlx1MDAwYtnLUEji0CxNYyXfqE67W1x1MDAwYt3sXHUwMDEwW+J67Nn39jHa/sUgg1x1MDAxMVxyurdpdGhstFHuMz68osJcdTAwMWNcdTAwMTFUh6YwsH7ROZRCorWBxMDman7Jki1Ei8BPs9a/8lx1MDAwYlx1MDAxNTBcdTAwMDJcclx1MDAxMLpcdTAwMDdtjGSoYlQ0xqGdZ1x1MDAxNXJC4yxcdTAwMWGgkLIsXFzAMM8g4ZDohoVcdTAwMTI2NFx1MDAxNyMrxzyNllx1MDAxNHAoXHUwMDE20D+Y0L7SK4RcdTAwMTVH2Fxi40rZvYhcdTAwMTOs2ZCenNQhtyMm6mBcdTAwMTlHJ2ysVY7i22E3++aIXHUwMDE13mTNcDJcZnBpw666IOaQLZXGmVx1MDAwM65Mi0xHKSfQLrIg2D5cdTAwMWGw8XBcdTAwMTVLVOFWXHUwMDFhi+82XHUwMDEzXHI4J4GblltcdTAwMTTKW1ORQo+FOEgyeGtcdTAwMWXO814sSEK6glBI+Fx1MDAxMI9cIil2vJbfsJ6sm8W9pT/vq8JF3kyp9pB4W44/U3OhQFx1MDAwNJ9cdTAwMGJMq3Aok1x1MDAxOUmIwHa+UD/GPM5cdTAwMTS5eodi2+nIQIszrcQxXHUwMDExOZJcdTAwMWIjXHUwMDEw0i6bQL7FhqxcIvXPQvtes98+XHUwMDAyZ1x1MDAwNPvZ2FA+tkN3sVHrzPX8MCuZXHUwMDA1XHUwMDBmin/rbLZ8XHUwMDAyXHUwMDEzXHUwMDE557TcoSF1iTHc9fy4NY2TXvPwy+G9Pr0wX3buzzeOYCpcdTAwMTDPMKBcdTAwMGLGc0xYhc7PSFxioPKy6YtQQr7PNFxmIyPmQ7I2dFx1MDAxY6vSKiMoWFFcdTAwMDbvKW2jp3/nTv9sXHUwMDFkrM5gQybm+eJyXHUwMDBiJXhInZe1cWLShaRlRlx1MDAwYumSMLeRXHUwMDFmc6ObWm2YSeU5XHUwMDBiiqJX4JxWXHUwMDExnEnj2dngTDFKXHUwMDE1tYY8XXhcdTAwMGY1Y9tEam7QMYUkyux3TVx1MDAxY3NIPH7SM06bWKFL2jx5x19kZ1Ho4v1naiwhnFRcdTAwMTPb/7RcdTAwMTZcdCG6z1x1MDAwNFx1MDAxY2/mx3G2satcYlx1MDAwMVx1MDAxZVx1MDAwN7VcdTAwMTTC47Q+hVx1MDAxNVxm4auiW0fOefhcIlx1MDAxMlx1MDAwZlx1MDAxMMh+eShTt3BYe5wqTLTVXHUwMDBlXHUwMDA0XHUwMDFiXHUwMDFiylxi2E56inZcdTAwMDBQenKgeHRcdTAwMTTnSnNrmGNcdTAwMDUw4FKiXHQ2vKxcdTAwMGKOJmRDcS6yXHUwMDExIVFvc4Y3i1x1MDAxYpTeXHUwMDAwcXk+g52I3PGE4ZC5XHUwMDA0g8KMXHUwMDBijktRgY3vRaBqks45gWSYXHUwMDBi2qhWXHUwMDEzjfkzhVx1MDAxNNLhQo9cdTAwMThQgsvFeFVcdTAwMTFcdTAwMTFcdTAwMDWXWjegXHUwMDAxXHUwMDE3j9FJcdov+U1r72l98/5Ptld1a+o8g5RcdTAwMTCJPSpcdTAwMTFhRNSaXHUwMDFh9F/guFx1MDAxMlx1MDAxYVx0jFx1MDAwNlx1MDAwNpGhXHUwMDE1Z00l95CDOY3YtpRilECSYppEMCUkXG5cdTAwMThTQPLZ1CzJKsFCRSZlx1x1MDAwZmhHo5/CjUrcROlcdTAwMTfPfLIrPmx69pdcdTAwMTGaSydcdTAwMTK3UnbyQ1TL56MtcXdzcqX79z/wXHUwMDFi9k/OKlNXlYxXZSzilcrmtFx1MDAxMlxcu0i4j7JFpUFAg0Ztz4FHXHUwMDA29vHZooZrxp1QXHUwMDA15IvPMIjQOFxc9p+/ncBkYlx1MDAxZv2Im8QuTOXHQKU6Mq5cdTAwMDFXiLKJKmE3P05Gv77S0NBMe0JcdTAwMWInhFOMXHRcdTAwMWWJqlGWpKKiI81Lhlx1MDAwNtWFXHUwMDEypWNayWFcdTAwMWFKgieLXHUwMDAxwzpcdTAwMWNcdTAwMWKVkn6cI5t8wSY5somTJMvS+e9Y95QkyVx1MDAxMlx1MDAwNH62m1x1MDAwYiW+xVx1MDAwMuSoY1FcdTAwMTUk7WtcdTAwMWTkR+/54+OR3dm7WYaNhcad+C726ufNakNZKecxXFyTRjpcdMJGy1x1MDAxYbXxXHUwMDE07Vx1MDAxYlx1MDAxOSpcZnaCl8dJJ1x1MDAwYpBrKVxiRp8sQK5cdTAwMWVaW3tmbz1vgPzQX9+4WOztPp5cdTAwMWZ31t3dfVes36yOX/hnXHUwMDAy5KTdS/eZkOozXHUwMDFkY1x1MDAxNDVKdJmH+UE3uqnVxlx1MDAxOVwiiTtp8f+Zclx1MDAxNlwieTlomzw2I6DhVylw1uKX0e4x5HKanFlHWVx1MDAxYkXUXHUwMDFlTVx1MDAxZiTnUob052yD5Kok5/mO08hcdTAwMGWSq+J9aEbCXWpNIVx1MDAwN6pSSUlcZjnKj+Vsg1fJsI6W4KHfNEBcdTAwMDRcdTAwMTQlV3Tni3FcdTAwMGbpskOhyFx1MDAxMD2qvIS7KULkMoD+K8w1oJJktoitsE9cdTAwMTdcIs9cdTAwMDbiXFxWiJxrXHUwMDFlel/hXHUwMDEx8vFcdTAwMWb5d41DS1x1MDAxYlxcLkZfiohDh2YpXHUwMDE2iJZKaMqpSrBfx/nt15+Ns91V1u1W3GQhXHUwMDAzsMY6J1x1MDAxOXF+XHUwMDFlgP01XHUwMDEwXHKeXHUwMDA0/HNY5sCNLm9bb5pANJB41pp97G49mJ+W77/i0G9DfsWntqlcdTAwMDRDMK5Qr4TLXHUwMDEzXHUwMDAzgJ7lXHUwMDA36MbO18bCyVLn4mtve8+e7iyJm6vnaitcdTAwMDdjtae0RLiiXHUwMDE31KHc7jeJrj2J5Fx1MDAwMpxDS+oqo9CZ1VZK/sl6XHUwMDE1XHUwMDFj7Vx1MDAxZUt5+pi79n/neFx07lx1MDAwZdXXL9fi6qazs/uw923xqTCFLm1ok7osha7To9qAvFx1MDAxNSh1Mlx1MDAwMXTn+UE3uqnVxplcdTAwMDPPUVx1MDAxYjskdVx1MDAxMmSsw5e0nptccs6U8NjkXHUwMDAyXTFH2fm8gJDY9GHtSVdskl+cVqCLklx1MDAwNPo7PiNboIvifWiqQHfxro0jgc4o54WZxH3cWn4oZ9u7SrJdlGieMVx1MDAwZVx1MDAwMS3Re1x1MDAxYVx1MDAxN6nYlYx5UiHZpepcdTAwMWFcdTAwMWWOiJYr0Km/SFx1MDAxY9fvXG50XHUwMDBlRFx1MDAwNNBccpeyq1txhZ6NxLkshe6C/fu5X1xuPXhD+qKkx6xcdTAwMTU6uPR0eqqVN5C8R1fPb8H+7PRcdTAwMDaD9uVt1Y2W9Yh9cSuQ9EuI1ppcdTAwMTnhXHRLibmWI/TCwqlcblx1MDAxMp0zzoTRhZD/j+VcIr80+tuQ39SCTM+UR96sXHUwMDE4XHUwMDBiz3qA0Mv8XGK9WOycd+9EfeNcdTAwMTKWj1x1MDAxNk+/NU6PllaqrVx1MDAxZHC5K0+hXHUwMDFisYjFYVx1MDAxMW+EZJB0xpdcdTAwMThcdTAwMTNcdTAwMTJ5PSsxUX4ykW5cZvpIgM8l0k/u2/tn+/VOXpHefVq/aLiV2yV5+0NcXPlyp1M7XShMpCvDeflcIj2U9Vx1MDAxYYWdRF6L4i8pMnaVXHUwMDFmdaObWnGggfKMVlZTWVxu/upcYs6k88RscCa1XHUwMDA3yqGfVqggIFxcVJIl0pG349BcdTAwMDV8aFx1MDAwZt9JV2ySY5xWpJfVsPdcdTAwMWSnkS3SS+jOmyrSLaTvojNcdTAwMDAhk1x1MDAxM2Ja+ZGcbe4qSXc5Z1x1MDAwZWHtaIFcIqqihWak0anXllx1MDAwMOOQ+kpZqUKzuEhcdTAwMTdU1Vx1MDAwMppcdTAwMTexR/XpRHo2XHUwMDEy57JEui61493fRKN/9C46qPT+MIZ6/KnkapFcdTAwMWb5LdiyWNreOu8vVt1ocYNcIp3hw1x1MDAxMOnnkVx1MDAxM1x1MDAwNUikK1x1MDAwN9Y6XHUwMDBlXHUwMDAyJ09Uq6CLuIhcdTAwMTREXT47XHUwMDE3+SXS34b8plx1MDAxNlxcRjm7opVcIlx1MDAxMlvB9PND9LRxsdX+usObl82Hzu7TQmtzpbtTbe1gmfG0oPbYyDaUdJFccj5gaGdccjX2pP6PosxcdTAwMWVcdTAwMTXTXHUwMDE1dFx1MDAxOSW5Zs59rnquxZOtm+bDma3izrfOqOei0j+D/yXAZJBcdTAwMWYmo19fbWSgqJZcXFx04FpYuv/jyFx1MDAxMFZSU3zFlSlcdTAwMTlcdTAwMTn0RdQ9zVxuLiydjJPgyOK4YMA04ukjXHUwMDFim8144/u1gqqslPR3jHtKPVdcdLno06aLIafQWlxukSSl62wxP35XfG2M+rFycbm7vCrW79xZm0+13z3TXHUwMDEwmUE0a6SeqKQ5i9FS9HPUJ92gPqVzXHUwMDAxoiP7cD/HXHUwMDFkXHUwMDE1LVx1MDAwYl3EKVx1MDAxNrMsXFxe2+dy+/SpitFjlVx1MDAxZT02ODlO4yNcdClL+ZEy+vlcdTAwMTVcdTAwMDeHVrj6hZZcdTAwMTK4gli5XHUwMDA2uTpcclx1MDAwMsDqksFhwaOkXHUwMDA0NFFIRtGF8ThCXHUwMDEy48dcXHFcdTAwMTc+c/mTaraJfZ0syde9Y+FTfJ0s3telRoxcdTAwMTVPpalcdTAwMTbVXHUwMDAwXHUwMDFi68lcdTAwMTJcdTAwMDLvcn7wPvk77YNn291d7vCzdX+le/N9tdiQcfGdzqVTXHUwMDFl52CVMkJIZlxcXHUwMDE0ytSu10qGxIxxRlHj8rBcXESvcy5RoKpikiZcblxyXHUwMDFhXHUwMDEz5IW0oYjB9EHjaFxm9W9cdTAwMTCdrVj77vDRxLFcdTAwMDRccuq1JSDZXFys5DdcdTAwMTdq0Gustc4ql0OV3b9bMeZcdCcsTpVVKFx1MDAxZaL2XHUwMDAy7Vx07S7hRFx1MDAxMVx1MDAwM4XyXFz/dP27XHUwMDAxf5fBPz40p1xutPnVv7tcdTAwMDRcdTAwMTdcdTAwMWaa72jlk3RcYlqVrGQn6MB11DxevtSN5aNcdTAwMDf95eH79nmTt81UbYZm6OLRsXt0YIVcdTAwMDHGKDk76uC1Z0BKR4dcdTAwMTLjy+VtXG5cdTAwMTfi33G4TMmSXHUwMDBlb/1J9470KbQ79cu9V9i9y1QprzkqM2d5onefoFx1MDAwN1x1MDAxOW9cdTAwMWSb5eXWVIc5f5x3f7FcdTAwMTVAbUpcdTAwMTi1LIpEvYTTnsN5ZNR3SzMhy1x1MDAwYmJP596llmy8g8ZHRLGntVx1MDAwM7/ce6Z7Z6mNXHUwMDA3uODCQfJx7HV2klx1MDAxZrVnjUd9e9hY/bFpXHUwMDFm1qxZ+/r9dKlecf/ulPQsXHUwMDE3llMgzopIXHUwMDFmXHUwMDAyoY0nOFx1MDAxZFx1MDAxMiU0XHUwMDA3KLONYCH63VxiwyzanqpcdTAwMWRWNlxm2aHsm+rswV9cdTAwMGV+1lx1MDAwZV6klkCRXGaQ1HIzyVSc5jdcdTAwMTWNU7u22frW+1xcXHUwMDBl/sVYMOrTSF2Kokf5XGJnPKnpo9YybsOnIVXCwePqsVx1MDAxNIb8UP8+tVx1MDAxOfjl39/bjVx1MDAwNp1cdTAwMWV3XHUwMDAz5HbcmWTgTlBcdTAwMTl12F/7PrhcXDhY+bJ8wL9dXHUwMDFluKONpYonXS1wLj0jXHUwMDA1Y07T8mcy1kfbeIhoxjTaWEVdPUvD7bT70ZRwzpDDfa7Eq8c1s+e769O8VVIrXHUwMDE35/fqa8c/XFxv3Vx1MDAxZusv1zenur85fuG0KqnM69Y3rq/5nVpotlx1MDAxNja6j9e79eXLfVXAdVdWO/uuu7nV3tnd3jm++Lp5uXTby3fdmOOOWUrKYbaTWMqpfL2A9CP75JCMpOzLT1DXNVpcdTAwMDbVNlx1MDAxM9Z4TCtKTmVCcVx1MDAwM1H5brnH+DD9rGwrYaUnjXN0kFx1MDAxOShcdTAwMDf5jlx1MDAxMONITGC89nX27l0xLUPrZUZcdTAwMWLzrqSN+XecXcrGvJux28/abqPKXHUwMDAwO5awXHUwMDFigvBcdTAwMDRcdTAwMDVdR/4lXHUwMDFimOOvz61cdTAwMWZ7J/31p4tz+Y1VXHUwMDFjz6jqPYcmXGYlsTbD/qjjgEY27CF5XHUwMDA2YGA0qqpcdTAwMGapiLZxXHUwMDFja7QxgNT+c/n6m1x1MDAxM3+jvvqoPrGvz+GTmVxiV1x1MDAxNpXkk8NcdTAwMTY02rCcVjM18E7C81x1MDAwNOVNo9mqOoRcdTAwMTnSZSrQsyinXHUwMDFkiyFcdTAwMThmhWDqWI5m1EoqkCX6XHUwMDFlh3JcdTAwMDJt14zO59FFQHl6l4x2R/7shvm0tdb2j87i7spcdTAwMWadvVu/c1Ruj7R3XFxUdvl19jhLj85cdTAwMWKeXHUwMDFhnVx1MDAwN8G50SpZuF9PkEaeaW8rXHUwMDEyfovAX1wiXHUwMDBmdkY7Z1xmJ1x1MDAxZVx1MDAxM8sjR8ounNZcbpzg1P69vFx1MDAxZDXmgVx1MDAxZVwiX6phgSlcdTAwMGbFSFx1MDAwM2dcdTAwMGVcdTAwMWWQfJDKKCqXXHLZo9dcYpyQ6NxlXHUwMDExXHUwMDA32H26ouxsfM5FirLR1FKTY4n0TTtmSu2cljbibPpcdTAwMWZcdTAwMWExXHUwMDBlXHUwMDE4PZWh7n54M1x1MDAxNXBj41x1MDAwM9ZcdTAwMWVcdTAwMTPaoaamJYBLSE404M+0nZGBXHUwMDE1esRQXHUwMDEyXFwvxsBcbum5btP1kVx1MDAxYUb80HQkWdf2XHUwMDA0+qixefilbqYqspuhQVx1MDAwNe0h2FxyXHUwMDExXHUwMDE5ZYSJbndcdTAwMDKdtVx1MDAwNMJRk1x1MDAwYoErujxzXG7CXHUwMDAzh3adXHRcdTAwMDfUVU/m2sAgg2ClLeI4wZ+IcEwoXHUwMDAxkujUZOXis928XHUwMDE4/8ZcdTAwMTlQn9S8Q6BGyMCTTkSos5v84MyWhNXMS1x1MDAwMO5pXHUwMDAz0lxu6rfOmYuVXHUwMDE2XHUwMDE47inyfUwyK6VcdTAwMGJ1xKhmalx1MDAwMr6oJD6q1o/mXHUwMDA10tZOXHUwMDE1tMxJfX7crVx1MDAxZVx1MDAwMOw/JXFcdTAwMDfuOYu0gTuUichjtVxy84JcdTAwMTfmwJFfSDSUOFx1MDAwN5pqoE34YPF/Slx1MDAwN5qq5UjY9HpG6o1sKMcvyW518tut2LKpXGKpyE6SXHUwMDE4Wi5GWaBcdTAwMWGoU5CNWC4q/sVXXHJH509Z1eW1pJkuXHUwMDBiklxulkG68vvjjVZo5aOYP0dh/i45XHUwMDE4efZ80/jOKzCEQzsvXHUwMDE5XHUwMDE4oU2kwZxQjCix4VbiO2RYi49Is9JUXHUwMDE5bNFbXHTJhUjoXHUwMDBip6hcdTAwMWVBWyOFYWBcdTAwMTlcdTAwMGbRgjjPKFxub1x1MDAxZkygJoJnyFx1MDAxMj/OJ4I2XHUwMDBmu3g7qlx1MDAwZUUsiqmQYVx0JeOwVF5L0Vx1MDAxNoXWM8R8013BbGI4xTaLU9JD/0CnXHUwMDA1MadcXJA1S4/4XG5973Kpy374Xc5jVHhcdTAwMGLAXHUwMDE0dZPIXG4m5KQ7XHUwMDA1XHUwMDA2hpCXIFx1MDAxOWDoLaXlSojQmVx0c0FcXEgwOlxuXHUwMDFjXHUwMDFjsVx1MDAxN1x1MDAxZVx1MDAxMNHJyV3aeDs7XHUwMDAz37nTx/PFo/pcdTAwMTe8jU9cdTAwMDebq6cp48WJQTrqQFx1MDAwMPV8T2Cj1rNgpVx1MDAxMlxmJ4N63E403J/ik0XwNqPT2/vboZqSyXnwT/l523Xd3z/48rRdNd6GXHUwMDBlRjJcdTAwMGWUVkSLkZvQPuOwflx1MDAwNWGrmHZSa3xcckRkt00w51EsllI4keDxipWvXGLOOOplbT+sMVx1MDAwNVpgarSoprLA/2hqlSvPRWZ0/dQgNbcsqetnnetcdHbJ9tXV4vJ+o334Y+W4vlf3Ty5cdTAwMDdTlbDMcJNcdTAwMWN/uke9Ylx1MDAxNG1Oi9i53lRUrlx1MDAxZJ3T4bRGcWMjI/vw5FZcdTAwMDBcdEwoXUBa+lxm812e5bO467a28ual3K3tfF09NydL9e+7299cdTAwMTZcdTAwMGZ3ur0lPX7hqfJdju9uZKd7fVx1MDAwN9u797s7enfzsd7hXHUwMDA1XFz3zl8/u/e/XHJW15v7u9v6cbvOj+5cblGgRFRcci6FSar8pvL1IDI2fjh3Qpmkg0Lq3OQ3XHUwMDE4o2VQcVx1MDAxYiHAQ/OomULWpnWszs1cdTAwMTA4XHUwMDA1XHUwMDEyIFmyjXDgXHUwMDE56m0hXHUwMDFkSmBlbL6eU1pTRa35uDxcdTAwMWFas3h7Qlx1MDAwNYAzSm3lLMW3/3TTqWxPl5LbXHUwMDFhXHUwMDFlzkycvuGpTt9cYkQwJOfCcZtcdTAwMWbCXHUwMDE3K1x1MDAwN0tPi81TfX7TOFxcPFx1MDAxYTysdppTXHUwMDE1ps1cdTAwMTLPmnugXHUwMDEwXHUwMDEyVC5tlIueVqC154BZXG5FO4bo/pDcViU8hVbWcIlcdTAwMDCSRiaVtTCGesR8rlRXt/V4vcJ/5E51raDrz+GiUe7J0l20hvRSU01cdTAwMWVcdTAwMWFcdTAwMTJcdTAwMTPfuMtcdTAwMGbv0WxVXHUwMDFj0Vx1MDAxMpCm01x1MDAxOdtMgFx1MDAwM1x1MDAxZe1cciVcdTAwMTV43FAuIHWFVJKXWaTGPalcdTAwMWNcdTAwMGWFxlwic9efKGFodFx1MDAxZuqjXHUwMDE1ny5cdTAwMDA6lY9cdTAwMGVli0JJbvpcdTAwMWTnXHUwMDE0ddPJIyo9iYMzmYpj4HSmZ7hIJYTjXHT6IGdb0aqE2MZBLVxmSnPK10ehXHUwMDAx1oQ7L73shTpLXHRZXG6FuzSU8VhcdTAwMWGmmacs05o2bIVcdTAwMDRcdTAwMWNR0sm/XHUwMDFhLVx1MDAxMCBtsFx1MDAwMKDDh7K/hdjAMat5XHUwMDExXHUwMDExtk+XvppccsS5jPRVnPd41J+XXHUwMDEw5s+m9KEhRvNVRaib79w/MV81XHJcdTAwMWL0iKFcIrhcXIxFXHUwMDE1sUMhTHpFLrc4Z6jiXHUwMDEzbelcdTAwMDSdslx1MDAwN9++3ciN1f2qm09tqU+8lJaqe1x1MDAxY2NR86mVh1x1MDAxMyPY8NwhxUs83YhOf6OH5Fx1MDAwMpCUhlRp5iHESkrtVFx1MDAxMUlv03JcIofjtna2XHSrf4/zjdLPT8zK/Vx1MDAwMmnBJe9DTNBccjtb2n10xkVcdTAwMWFcXFx1MDAxOfOkRGxoPTyrxUZ3XCK08+iEd1xuvOKaLDHzq5CUVTL2mis+ZaZJmWxcdTAwMDfFmVx1MDAwZaXMXHUwMDE3z3bO/PaBvTXdXHUwMDFjXHUwMDE5q4nsJpKxXHUwMDFh7Fx1MDAxNU/Odn5lrFx1MDAxNsMrMo+aXCJcdTAwMGYqeFwirZigKXds1VSEVmQnrL7aLWNcdTAwMTXT1NqMiVhfL+cpQ/Uq3FH/a1Zerv10KatE462GXCLKXG6nT1ktNVx1MDAxYamccdNcdTAwMTm8X3lcdTAwMTVZVEaFarxcIkaBkqHwoZKyofjqXHUwMDA0cZvMjeRCqEyXvEHBVEZ6lItr6KBKQNxHqVxmKI9cdTAwMDNcYmIzhkxGeSZcdTAwMDG49ax0nDmDXHUwMDAylCVcdTAwMDVuUJ1IoYeKXHUwMDFltGOhUFuQXHUwMDFihaTUyMo1XHUwMDA2XHUwMDE1gu4w0qxcdTAwMTK5zFx1MDAwNGFcdTAwMTHqtkT2XHUwMDFmScuw+VKM2Fxij1F8XHUwMDAwR8wo1cuUXHUwMDEwxWk91L+f37Jr41x1MDAwNs3GxVantfW1nThcXEou5cxypaxcdTAwMTHM4bybOFx1MDAxM0OBrNCpgaTdfVx1MDAwYnpCJvaZ+NawR4dA+WUp59Y6ocJcdTAwMWZcdTAwMDekrcDxVjguuZbA37tcXCru6LFgPenwRe7wilxiPV32kddh71x1MDAxNz2egVx1MDAwMfVcdTAwMThhNnGnbC2/pd7t7eyu3a9cdTAwMTSb2V9I3qpA1mbpUE46PGbs+M9cdTAwMTdrzalcdTAwMWKAdSgpweKE8Gh6XHUwMDBi12ggQaJcdTAwMTlXaLlLzFxc5SA8XHLUKVogsVx1MDAxNzapT0xSnFxirY5G6/xhe2dkh7Vccld8l02xbrv9fqvefp77XHUwMDE4rpXx9Vx1MDAxM5Ou317BPl+7vT1cdTAwMWHgXVx1MDAxZFn3+YeW/7hcdTAwMTRfQ/+6XHUwMDE4PohcdTAwMDJcdTAwMGZcclx1MDAwMVx1MDAwMc1cdTAwMWY6179+++v/XHUwMDAxXHUwMDFllZL/In0=Lucene 8Elasticsearch 7ANDOpenSearch 1Lucene 7loadcan readElasticsearch 6loadsLucene 6Elasticsearch 5loadsElasticsearch 2loadsElasticsearch 1loadsLucene 5Lucene 4can readcan readcan readLucene 9Elasticsearch 8ANDOpenSearch 2loadcan readcan readLucene 10OpenSearch 3loadscan readpossibly can read \ No newline at end of file +eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dWVfjSNJ971/BYV5cdTAwMDdNZkau/cZcdTAwMGXFvlSxfD2njlx1MDAxN1x1MDAwMS6MXHK22XpO//cvwoAla0N2SUZ0l3tOTZVcdTAwMTc5rcxcdTAwMWJxb2RE5P9+m5ubXHUwMDFmPN/687/PzftPjVq71ezVXHUwMDFl5/9Nzz/4vX6r28GXxPDf/e59rzF859VgcNv//T//XHQ+4TW6Ny+f8tv+jd9cdTAwMTn08X3/h/+em/vf8E98pdWkz7ZcdTAwMWXq389v2bVxg2bjYqvT2vrarlx1MDAwZj86fNPbYHp+Y1DrXFy2/eClJ3yec+dcdGDcKlxyYFxmWFx1MDAxOL38jC8vXGKnPSFcdTAwMDQ4XHSG0f/U6PXHVnNwRZdcdTAwMDDnWVx1MDAxMFxmuFxiXrzyW5dXXHUwMDAzfFVZzzhtTfDSyyh+n2OjZ/qDXvfaX+62uz1cdTAwMWHqv7hP/1x1MDAwNVx1MDAwM63XXHUwMDFh15e97n2nOXrPoFfr9G9rPbwzwfsuWu320eB5eHW8u3gn5yPfcfI6Zlx1MDAxMXk+7VP4pZdXXHUwMDFkv093n4+e7d7WXHUwMDFhrVx1MDAwMd1cdTAwMWbOgl9BI7zdbFx1MDAwZSfqv8GYerVcdTAwMWJ/k2aqc99uj55udZo+3f/5XHUwMDFhjH1bp/n6bW+zXHUwMDFjTCG8PvNXMHbfb1x1MDAwZVx1MDAwN1x1MDAwMVIqabhcdTAwMWO9XHUwMDEyWmpcdTAwMDKiz+52O8NlZ0Bpp7hcdTAwMGVuRqu/gsttMLzqRa3d94MpoKGtRpdieDmOrbaB/1x1MDAxNMxLaLE+rne3+5ur+/Ojl/76d/KVXt6vVlx1MDAxZmx3/U60l74vnVx1MDAxZuhndrZx3lx1MDAxZr/w21fWer3uY97r3m4sPKrj21x1MDAxM3a5uN7ffd7YUo+PR1x1MDAwNVxc985fP7v3v1xyVteb+7vb+nG7zo/u8l339W/Byrm/bdZepoJcdTAwMWLJObfaIJKC2Wy3OtfRZdXuNq6D2fstNOCI1Vx1MDAxOE1EzFCMTd2LjZBcdTAwMWFcdTAwMDGuheRcdTAwMTZcdTAwMTeZXHUwMDEyJmojjPNcdTAwMDBNhEKYp9hcYis9zZ3j1lxuXHUwMDEwUnBcdTAwMTc3XHUwMDE04peFSLNcdTAwMTDfkk3E2NvfbIFCQ+5AcVx1MDAxNkU9zYKLPvlmXG6EXHUwMDA2paxcdTAwMTJTmYK0JcskR4eihZlgyVx1MDAwNsuRliH++u37ht/x52xoXHUwMDBlu53BUevP4bDZ2LNrtZtWm266XHUwMDFhu8xiu3VJP39cdTAwMWWvNPB78+GbMGihx1x1MDAxZL3hptVshj1kXHUwMDAzL1prdfzeZlx1MDAxZVfb7bUuW51a+zh16LX7QffQ779cZn7Qu/fDd8bfeINcdTAwMDL3hErEboYzXHUwMDBmZlnydIuPnphcdG1FwiqT8znm/tV4LF1cdTAwMWauyoutveu12/rq1eXlLl++qVxuyOLGY2jDmPKY1E4gjzGC4WJcdTAwMWa3YdJoT6Fp48ZJq5HNqMjQft72jPiS1p6xiWTJhr71XHUwMDE1z1x1MDAxYYdqcERTWpFJKUVBfv7ybGl34+5p41x1MDAxM/v5d/wxI8aFXGZKhSE8jT9O9rtcdTAwMDGcgas0OFx1MDAwYlx1MDAwYpJcdCaT4Kzyw3k0WdVGMFx1MDAwN89cdTAwMTijmTaKXHQlpI5cIpjPXGbBXHUwMDEyXHRcdTAwMGZ3XHUwMDE2XHUwMDFkplx1MDAwMsd0XHUwMDEylE1cdTAwMWPK3ClcdTAwMTBcdTAwMGW4/Xkoj70wgUOefM1O73bpNq62a310sX2/1mtcXM2ZPzqLuyt/dPZu/c7Ry1N8fuwzhbnqd1xcVNRVTzLOmTjx8CRFUG+Ns6jabLD+XHUwMDAz1Jv8qO/sXGZ8505cdTAwMWbPXHUwMDE3j+pfhLVPXHUwMDA3m6un1TZcdTAwMDGgwLPWWaeM1JbLWKzCeUxcdTAwMTjmXHUwMDA0XHUwMDE3Qkleolx1MDAwMZgw5DFcdTAwMTLq0iBcdGEqXHUwMDEw6p/BmT+u719cdTAwMWXwp+WPXHUwMDE215tcdTAwMGaL1/BlcLf3oDbOxVx1MDAwZVx1MDAxZuj1Rlx1MDAxMSRhZbWz77qbW+2d3e2d44uvm5dLt72iSFx1MDAwMjoqXHUwMDEx0l0lkVx1MDAwNCFisZ83c8FcdTAwMWST0nFjXHUwMDAyLFx1MDAwNfbC5rdcdTAwMTejVVBtXHUwMDEzYYUnjHKKXHUwMDE5cNKx4CovJlx1MDAwMl/mwmoldckmwoLHlCNTpKWWVlx1MDAwNvOTXHUwMDE08XgzXHUwMDEwXHUwMDA2NM2VKoDtT0tcdTAwMTG4sVx1MDAxMFx1MDAxZUDZXHUwMDE04VUlm5KIwDtuLkWzm+LcfVx1MDAxZYFcdTAwMTOxL+O81zpcdTAwMGa9XHUwMDFkLlx1MDAwYimc1qhfx5c0WOVpXHUwMDA2OHHSgXQhYfu2XHUwMDE0mYeOk1HsUOOKdFx1MDAxMpSJL0ZcXK/4LnRPylBcYinkW6tcdTAwMTCNk5HnPzBcdTAwMWG3PJ9cYre4P1x1MDAxNjF//IpywZlcdTAwMDWtXHUwMDAxkmJ0wujosyNLblH/WFx1MDAwZSFwXHUwMDE2XHUwMDEwpaPAsrZOT1x1MDAxNaW77bai1Fwi+NtcXLBkhv9cdTAwMTj9/b//Tn53+jqlR2yFXHUwMDA214u5YaLzy92bm9ZcdTAwMDB/6D5ccjL6g/qDWm+whNPa6lxcjk/f64ZbXHUwMDFlXHUwMDFkMbRujXu6XHUwMDAxXHUwMDBizGNcZiUh4tBJlKHasVx1MDAwMIq02mq3ZP48dEraaORcdTAwMDVcdTAwMWPQXHUwMDA1hd9x0XpcdTAwMWFcdTAwMWZrbP34neb7I85cdTAwMGVShkaMXHUwMDAz5mjs0Vx1MDAxM1wiWbXg8K6L2IA1MmrtJPpKo7RggVx1MDAxYss14OFNXiSbduXXYpjCn1x1MDAxM34tavz8dr37mGszw6xv7p1u6KVcXJtcdTAwMTnOeFxu7SVqcWWNNlx1MDAxMYKAN8Gje8FxesBpZ1x1MDAwM8vzZk5BeIDL0zDU8rhcdTAwMThZomvP4in/aPO5kn8vXHUwMDAzTVx1MDAwMM6QszGDSL8oNcZNuFJcdTAwMWGNSOBcYlx1MDAwYtnLUEji0CxNYyXfqE67W1x1MDAwYt3sXHUwMDEwW+J67Nn39jHa/sUgg1x1MDAxMVxyurdpdGhstFHuMz68osJcdTAwMWNcdTAwMTFUh6YwsH7ROZRCorWBxMDman7Jki1Ei8BPs9a/8lx1MDAwYlx1MDAxNTBcdTAwMDJcclx1MDAxMLpcdTAwMDdtjGSoYlQ0xqGdZ1x1MDAxNXJC4yxcdTAwMWGgkLIsXFzAMM8g4ZDohoVcdTAwMTI2NFx1MDAxNyMrxzyNllx1MDAxNHAoXHUwMDE20D+Y0L7SK4RcdTAwMTVH2Fxi40rZvYhcdTAwMTOs2ZCenNQhtyMm6mBcdTAwMTlHJ2ysVY7i22E3++aIXHUwMDE13mTNcDJcZnBpw666IOaQLZXGmVx1MDAwM65Mi0xHKSfQLrIg2D5cdTAwMWGw8XBcdTAwMTVLVOFWXHUwMDFhi+82XHUwMDEzXHI4J4GblltcdTAwMTTKW1ORQo+FOEgyeGtcdTAwMWXO814sSEK6glBI+Fx1MDAxMI9cIil2vJbfsJ6sm8W9pT/vq8JF3kyp9pB4W44/U3OhQFx1MDAwNJ9cdTAwMGJMq3Aok1x1MDAxOUmIwHa+UD/GPM5cdTAwMTS5eodi2+nIQIszrcQxXHUwMDExOZJcdTAwMWIjXHUwMDEw0i6bQL7FhqxcIvXPQvtes98+XHUwMDAyZ1x1MDAwNPvZ2FA+tkN3sVHrzPX8MCuZXHUwMDA1XHUwMDBmin/rbLZ8XHUwMDAyXHUwMDEzXHUwMDE557TcoSF1iTHc9fy4NY2TXvPwy+G9Pr0wX3buzzeOYCpcdTAwMTDPMKBcdTAwMGLGc0xYhc7PSFxioPKy6YtQQr7PNFxmIyPmQ7I2dFx1MDAxY6vSKiMoWFFcdTAwMDbvKW2jp3/nTv9sXHUwMDFkrM5gQybm+eJyXHUwMDBiJXhInZe1cWLShaRlRlx1MDAwYumSMLeRXHUwMDFmc6ObWm2YSeU5XHUwMDBiiqJX4JxWXHUwMDExnEnj2dngTDFKXHUwMDE1tYY8XXhcdTAwMGY1Y9tEam7QMYUkyux3TVx1MDAxY3NIPH7SM06bWKFL2jx5x19kZ1Ho4v1naiwhnFRcdTAwMTPb/7RcdTAwMTZcdCG6z1x1MDAwNFx1MDAxY2/mx3G2satcYlx1MDAwMVx1MDAxZVx1MDAwN7VcdTAwMTTC47Q+hVx1MDAxNVxm4auiW0fOefhcIlx1MDAxMlx1MDAwZlx1MDAxMMh+eShTt3BYe5wqTLTVXHUwMDBlXHUwMDA0XHUwMDFiXHUwMDFiylxi2E56inZcdTAwMDBQenKgeHRcdTAwMTTnSnNrmGNcdTAwMDUw4FKiXHQ2vKxcdTAwMGKOJmRDcS6yXHUwMDExIVFvc4Y3i1x1MDAxYpTeXHUwMDAwcXk+g52I3PGE4ZC5XHUwMDA0g8KMXHUwMDBijktRgY3vRaBqks45gWSYXHUwMDBi2qhWXHUwMDEzjfkzhVx1MDAxNNLhQo9cdTAwMThQgsvFeFVcdTAwMTFcdTAwMTFcdTAwMDWXWjegXHUwMDAxXHUwMDE3j9FJcdov+U1r72l98/5Ptld1a+o8g5RcdTAwMTCJPSpcdTAwMTFhRNSaXHUwMDFh9F/guFx1MDAxMlx1MDAxYVx0jFx1MDAwNlx1MDAwNpGhXHUwMDE1Z00l95CDOY3YtpRilECSYppEMCUkXG5cdTAwMThTQPLZ1CzJKsFCRSZlx1x1MDAwZmhHo5/CjUrcROlcdTAwMTfPfLIrPmx69pdcdTAwMTGaSydcdTAwMTK3UnbyQ1TL56MtcXdzcqX79z/wXHUwMDFi9k/OKlNXlYxXZSzilcrmtFx1MDAxMlxcu0i4j7JFpUFAg0Ztz4FHXHUwMDA29vHZooZrxp1QXHUwMDA15IvPMIjQOFxc9p+/ncBkYlx1MDAxZv2Im8QuTOXHQKU6Mq5cdTAwMDFXiLKJKmE3P05Gv77S0NBMe0JcdTAwMWInhFOMXHRcdTAwMWWJqlGWpKKiI81Lhlx1MDAwNtWFXHUwMDEypWNayWFcdTAwMWFKgieLXHUwMDAxwzpcdTAwMWNcdTAwMWKVkn6cI5t8wSY5somTJMvS+e9Y95QkyVx1MDAxMlx1MDAwNH62m1x1MDAwYiW+xVx1MDAwMuSoY1FcdTAwMTUk7WtcdTAwMWTkR+/54+OR3dm7WYaNhcad+C726ufNakNZKecxXFyTRjpcdMJGy1x1MDAxYbXxXHUwMDE07Vx1MDAxYlx1MDAxOSpcZnaCl8dJJ1x1MDAwYpBrKVxiRp8sQK5cdTAwMWVaW3tmbz1vgPzQX9+4WOztPp5cdTAwMWZ31t3dfVes36yOX/hnXHUwMDAy5KTdS/eZkOozXHUwMDFkY1x1MDAxNDVKdJmH+UE3uqnVxlx1MDAxOVwiiTtp8f+Zclx1MDAxNlwieTlomzw2I6DhVylw1uKX0e4x5HKanFlHWVx1MDAxYkXUXHUwMDFlTVx1MDAxZiTnUob052yD5Kok5/mO08hcdTAwMGWSq+J9aEbCXWpNIVx1MDAwN6pSSUlcZjnKj+Vsg1fJsI6W4KHfNEBcdTAwMDRcdTAwMTQlV3Tni3FcdTAwMGbpskOhyFx1MDAxMD2qvIS7KULkMoD+K8w1oJJktoitsE9cdTAwMTdcIs9cdTAwMDbiXFxWiJxrXHUwMDFlel/hXHUwMDEx8vFcdTAwMWb5d41DS1x1MDAxYlxcLkZfiohDh2YpXHUwMDE2iJZKaMqpSrBfx/nt15+Ns91V1u1W3GQhXHUwMDAzsMY6J1x1MDAxOXF+XHUwMDFlgP01XHUwMDEwXHKeXHUwMDA0/HNY5sCNLm9bb5pANJB41pp97G49mJ+W77/i0G9DfsWntqlcdTAwMDRDMK5Qr4TLXHUwMDEzXHUwMDAzgJ7lXHUwMDA36MbO18bCyVLn4mtve8+e7iyJm6vnaitcdTAwMDdjtae0RLiiXHUwMDE31KHc7jeJrj2J5Fx1MDAwMpxDS+oqo9CZ1VZK/sl6XHUwMDE1XHUwMDFj7Vx1MDAxZUt5+pi79n/neFx07lx1MDAwZdXXL9fi6qazs/uw923xqTCFLm1ok7osha7To9qAvFx1MDAxNSh1Mlx1MDAwMXTn+UE3uqnVxplcdTAwMDPPUVx1MDAxYjskdVx1MDAxMmSsw5e0nptccs6U8NjkXHUwMDAyXTFH2fm8gJDY9GHtSVdskl+cVqCLklx1MDAwNPo7PiNboIvifWiqQHfxro0jgc4o54WZxH3cWn4oZ9u7SrJdlGieMVx1MDAwZVx1MDAwMS3Re1x1MDAxYVx1MDAxN6nYlYx5UiHZpepcdTAwMWFcdTAwMWWOiJYr0Km/SFx1MDAxY9fvXG50XHUwMDBlRFx1MDAwNNBccpeyq1txhZ6NxLkshe6C/fu5X1xuPXhD+qKkx6xcdTAwMTU6uPR0eqqVN5C8R1fPb8H+7PRcdTAwMDaD9uVt1Y2W9Yh9cSuQ9EuI1ppcdTAwMTnhXHRLibmWI/TCwqlcblx1MDAxMp0zzoTRhZD/j+VcIr80+tuQ39SCTM+UR96sXHUwMDE4XHUwMDBiz3qA0Mv8XGK9WOycd+9EfeNcdTAwMTKWj1x1MDAxNk+/NU6PllaqrVx1MDAxZHC5K0+hXHUwMDFisYjFYVx1MDAxMW+EZJB0xpdcdTAwMThcdTAwMTNcdTAwMTJ5PSsxUX4ykW5cZvpIgM8l0k/u2/tn+/VOXpHefVq/aLiV2yV5+0NcXPlyp1M7XShMpCvDeflcIj2U9Vx1MDAxYYWdRF6L4i8pMnaVXHUwMDFmdaObWnGggfKMVlZTWVxu/upcYs6k88RscCa1XHUwMDA3yqGfVqggIFxcVJIl0pG349BcdTAwMDV8aFx1MDAwZt9JV2ySY5xWpJfVsPdcdTAwMWSnkS3SS+jOmyrSLaTvojNcdTAwMDAhk1x1MDAxM2Ja+ZGcbe4qSXc5Z1x1MDAwZWHtaIFcIqqihWak0anXllx1MDAwMOOQ+kpZqUKzuEhcdTAwMTdU1Vx1MDAwMppcdTAwMTexR/XpRHo2XHUwMDEy57JEui61493fRKN/9C46qPT+MIZ6/KnkapFcdTAwMWb5LdiyWNreOu8vVt1ocYNcIp3hw1x1MDAxMOnnkVx1MDAxM1x1MDAwNUikK1x1MDAwN9Y6XHUwMDBlXHUwMDAyJ09Uq6CLuIhcdTAwMTREXT47XHUwMDE3+SXS34b8plx1MDAxNlxcRjm7opVcIlx1MDAxMlvB9PND9LRxsdX+usObl82Hzu7TQmtzpbtTbe1gmfG0oPbYyDaUdJFccj5gaGdccjX2pP6PosxcdTAwMWVcdTAwMTXTXHUwMDE1dFx1MDAxOSW5Zs59rnquxZOtm+bDma3izrfOqOei0j+D/yXAZJBcdTAwMWYmo19fbWSgqJZcXFx04FpYuv/jyFx1MDAxMFZSU3zFlSlcdTAwMTlcdTAwMTn0RdQ9zVxuLiydjJPgyOK4YMA04ukjXHUwMDFim8144/u1gqqslPR3jHtKPVdcdLno06aLIafQWlxukSSl62wxP35XfG2M+rFycbm7vCrW79xZm0+13z3TXHUwMDEwmUE0a6SeqKQ5i9FS9HPUJ92gPqVzXHUwMDAxoiP7cD/HXHUwMDFkXHUwMDE1LVx1MDAwYl3EKVx1MDAxNrMsXFxe2+dy+/SpitFjlVx1MDAxZT02ODlO4yNcdClL+ZEy+vlcdTAwMTVcdTAwMDeHVrj6hZZcdTAwMTK4gli5XHUwMDA2uTpcclx1MDAwMsDqksFhwaOkXHUwMDA0NFFIRtGF8ThCXHUwMDEy48dcXHFcdTAwMTc+c/mTaraJfZ0syde9Y+FTfJ0s3telRoxcdTAwMTVPpalcdTAwMTbVXHUwMDAwXHUwMDFi68lcdTAwMTJcdTAwMDLvcn7wPvk77YNn291d7vCzdX+le/N9tdiQcfGdzqVTXHUwMDFl52CVMkJIZlxcXHUwMDE0ytSu10qGxIxxRlHj8rBcXESvcy5RoKpikiZcblxyXHUwMDFhXHUwMDEz5IW0oYjB9EHjaFxm9W9cdTAwMTCdrVj77vDRxLFcdTAwMDRccuq1JSDZXFys5DdcdTAwMTdq0Gustc4ql0OV3b9bMeZcdCcsTpVVKFx1MDAxZaL2XHUwMDAy7Vx07S7hRFx1MDAxMVx1MDAwM4XyXFz/dP27XHUwMDAxf5fBPz40p1xutPnVv7tcdTAwMDRcdTAwMTdcdTAwMWaa72jlk3RcYlqVrGQn6MB11DxevtSN5aNcdTAwMDf95eH79nmTt81UbYZm6OLRsXt0YIVcdTAwMDHGKDk76uC1Z0BKR4dcdTAwMTLjy+VtXG5cdTAwMTfi33G4TMmSXHUwMDBlb/1J9470KbQ79cu9V9i9y1QprzkqM2d5onefoFx1MDAwN1x1MDAxOW9cdTAwMWSb5eXWVIc5f5x3f7FcdTAwMTVAbUpcdTAwMTi1LIpEvYTTnsN5ZNR3SzMhy1x1MDAwYmJP596llmy8g8ZHRLGntVx1MDAwM7/ce6Z7Z6mNXHUwMDA3uODCQfJx7HV2klx1MDAxZrVnjUd9e9hY/bFpXHUwMDFm1qxZ+/r9dKlecf/ulPQsXHUwMDE3llMgzopIXHUwMDFmXHUwMDAyoY0nOFx1MDAxZFx1MDAxMiU0XHUwMDA3KLONYCH63VxiwyzanqpcdTAwMWRWNlxm2aHsm+rswV9cdTAwMGV+1lx1MDAwZV6klkCRXGaQ1HIzyVSc5jdcdTAwMTWNU7u22frW+1xcXHUwMDBl/sVYMOrTSF2Kokf5XGJnPKnpo9YybsOnIVXCwePqsVx1MDAxNIb8UP8+tVx1MDAxOfjl39/bjVx1MDAwNp1cdTAwMWV3XHUwMDAz5HbcmWTgTlBcdTAwMTl12F/7PrhcXDhY+bJ8wL9dXHUwMDFluKONpYonXS1wLj0jXHUwMDA1Y07T8mcy1kfbeIhoxjTaWEVdPUvD7bT70ZRwzpDDfa7Eq8c1s+e769O8VVIrXHUwMDE35/fqa8c/XFxv3Vx1MDAxZusv1zenur85fuG0KqnM69Y3rq/5nVpotlx1MDAxNja6j9e79eXLfVXAdVdWO/uuu7nV3tnd3jm++Lp5uXTby3fdmOOOWUrKYbaTWMqpfL2A9CP75JCMpOzLT1DXNVpcdTAwMDbVNlx1MDAxM9Z4TCtKTmVCcVx1MDAwM1H5brnH+DD9rGwrYaUnjXN0kFx1MDAxOShcdTAwMDf5jlx1MDAxMONITGC89nX27l0xLUPrZUZcdTAwMWLzrqSN+XecXcrGvJux28/abqPKXHUwMDAwO5awXHUwMDFigvBcdTAwMDRcdTAwMDVdR/4lXHUwMDFimOOvz61cdTAwMWZ7J/31p4tz+Y1VXHUwMDFjz6jqPYcmXGYlsTbD/qjjgEY27CF5XHUwMDA2YGA0qqpcdTAwMGapiLZxXHUwMDFja7QxgNT+c/n6m1x1MDAxM3+jvvqoPrGvz+GTmVxiV1x1MDAxNpXkk8NcdTAwMTY02rCcVjM18E7C81x1MDAwNOVNo9mqOoRcdTAwMTnSZSrQsyinXHUwMDFkiyFcdTAwMThmhWDqWI5m1EoqkCX6XHUwMDFlh3JcdTAwMDJt14zO59FFQHl6l4x2R/7shvm0tdb2j87i7spcdTAwMWadvVu/c1Ruj7R3XFxUdvl19jhLj85cdTAwMWKeXHUwMDFhnVx1MDAwN8G50SpZuF9PkEaeaW8rXHUwMDEyfovAX1wiXHUwMDBmdkY7Z1xmJ1x1MDAxZVx1MDAxM8sjR8ounNZcbpzg1P69vFx1MDAxZDXmgVx1MDAxZVwiX6phgSlcdTAwMGbFSFx1MDAwM2dcdTAwMGVcdTAwMWWQfJDKKCqXXHLZo9dcYpyQ6NxlXHUwMDExXHUwMDA32H26ouxsfM5FirLR1FKTY4n0TTtmSu2cljbibPpcdTAwMWZcdTAwMWExXHUwMDBlXHUwMDE4PZWh7n54M1x1MDAxNXBj41x1MDAwM9ZcdTAwMWVcdTAwMTPaoaamJYBLSE404M+0nZGBXHUwMDE1esRQXHUwMDEyXFwvxsBcbum5btP1kVx1MDAxYUb80HQkWdf2XHUwMDA0+qixefilbqYqspuhQVx1MDAwNe0h2FxyXHUwMDExXHUwMDE5ZYSJbndcdTAwMDKdtVx1MDAwNMJRk1x1MDAwYoErujxzXG7CXHUwMDAzh3adXHRcdTAwMDfUVU/m2sAgg2ClLeI4wZ+IcEwoXHUwMDAxkujUZOXis928XHUwMDE4/8ZcdTAwMTlQn9S8Q6BGyMCTTkSos5v84MyWhNXMS1x1MDAwMO5pXHUwMDAz0lxu6rfOmYuVXHUwMDE2XHUwMDE47inyfUwyK6VcdTAwMGJ1xKhmalx1MDAwMr6oJD6q1o/mXHUwMDA10tZOXHUwMDE1tMxJfX7crVx1MDAxZVx1MDAwMOw/JXFcdTAwMDfuOYu0gTuUichjtVxy84JcdTAwMTfmwJFfSDSUOFx1MDAwN5pqoE34YPF/Slx1MDAwN5qq5UjY9HpG6o1sKMcvyW518tut2LKpXGKpyE6SXHUwMDE4Wi5GWaBcdTAwMWGoU5CNWC4q/sVXXHJH509Z1eW1pJkuXHUwMDBiklxulkG68vvjjVZo5aOYP0dh/i45XHUwMDE4efZ80/jOKzCEQzsvXHUwMDE5XHUwMDE4oU2kwZxQjCix4VbiO2RYi49Is9JUXHUwMDE5bNFbXHTJhUjoXHUwMDBip6hcdTAwMWVBWyOFYWBcdTAwMTlcdTAwMGbRgjjPKFxub1x1MDAxZkygJoJnyFx1MDAxMj/OJ4I2XHUwMDBmu3g7qlx1MDAwZUUsiqmQYVx0JeOwVF5L0Vx1MDAxNoXWM8R8013BbGI4xTaLU9JD/0CnXHUwMDA1MadcXJA1S4/4XG5973Kpy374Xc5jVHhcdTAwMGLAXHUwMDE0dZPIXG4m5KQ7XHUwMDA1XHUwMDA2hpCXIFx1MDAxOWDoLaXlSojQmVx0c0FcXEgwOlxuXHUwMDFjXHUwMDFjsVx1MDAxN1x1MDAxZVx1MDAxMNHJyV3aeDs7XHUwMDAz37nTx/PFo/pcdTAwMTe8jU9cdTAwMDebq6cp48WJQTrqQFx1MDAwMPV8T2Cj1rNgpVx1MDAxMlxmJ4N63E403J/ik0XwNqPT2/vboZqSyXnwT/l523Xd3z/48rRdNd6GXHUwMDBlRjJcdTAwMGWUVkSLkZvQPuOwflx1MDAwNWGrmHZSa3xcckRkt00w51EsllI4keDxipWvXGLOOOplbT+sMVx1MDAwNVpgarSoprLA/2hqlSvPRWZ0/dQgNbcsqetnnetcdHbJ9tXV4vJ+o334Y+W4vlf3Ty5cdTAwMDdTlbDMcJNcdTAwMWN/uke9Ylx1MDAxNG1Oi9i53lRUrlx1MDAxZJ3T4bRGcWMjI/vw5FZcdTAwMDBcdEwoXUBa+lxm812e5bO467a28ual3K3tfF09NydL9e+7299cdTAwMTZcdTAwMGZ3ur0lPX7hqfJdju9uZKd7fVx1MDAwN9u797s7enfzsd7hXHUwMDA1XFz3zl8/u/e/XHJW15v7u9v6cbvOj+5cblGgRFRcci6FSar8pvL1IDI2fjh3Qpmkg0Lq3OQ3XHUwMDE4o2VQcVx1MDAxYiHAQ/OomULWpnWszs1cdTAwMTA4XHUwMDA1XHUwMDEyIFmyjXDgXHUwMDE56m0hXHUwMDFkSmBlbL6eU1pTRa35uDxcdTAwMWFas3h7Qlx1MDAwNYAzSm3lLMW3/3TTqWxPl5LbXHUwMDFhXHUwMDFlzkycvuGpTt9cYkQwJOfCcZtcdTAwMWbCXHUwMDE3K1x1MDAwN0tPi81TfX7TOFxcPFx1MDAxYTysdppTXHUwMDE1ps1cdTAwMTLPmnugXHUwMDEwXHUwMDEyVC5tlIueVqC154BZXG5FO4bo/pDcViU8hVbWcIlcdTAwMDCSRiaVtTCGesR8rlRXt/V4vcJ/5E51raDrz+GiUe7J0l20hvRSU01cdTAwMWVcdTAwMWFcdTAwMTJcdTAwMTPfuMtcdTAwMGbv0WxVXHUwMDFj0Vx1MDAxMpCm01x1MDAxOdtMgFx1MDAwM1x1MDAxZe1cciVcdTAwMTV43FAuIHWFVJKXWaTGPalcdTAwMWNcdTAwMGWFxlwic9efKGFodFx1MDAxZuqjXHUwMDE1ny5cdTAwMDA6lY9cdTAwMGVli0JJbvpcdTAwMWTnXHUwMDE0ddPJIyo9iYMzmYpj4HSmZ7hIJYTjXHT6IGdb0aqE2MZBLVxmSnPK10ehXHUwMDAx1oQ7L73shTpLXHRZXG6FuzSU8VhcdTAwMWGmmacs05o2bIVcdTAwMDRcdTAwMWNR0sm/XHUwMDFhLVx1MDAxMCBtsFx1MDAwMKDDh7K/hdjAMat5XHUwMDExXHUwMDExtk+XvppccsS5jPRVnPd41J+XXHUwMDEw5s+m9KEhRvNVRaib79w/MV81XHJcdTAwMWL0iKFcIrhcXIxFXHUwMDE1sUMhTHpFLrc4Z6jiXHUwMDEzbelcdTAwMDSdslx1MDAwN9++3ciN1f2qm09tqU+8lJaqe1x1MDAxY2NR86mVh1x1MDAxMyPY8NwhxUs83YhOf6OH5Fx1MDAwMpCUhlRp5iHESkrtVFx1MDAxMUlv03JcIofjtna2XHSrf4/zjdLPT8zK/Vx1MDAwMmnBJe9DTNBccjtb2n10xkVcdTAwMWFcXFx1MDAxOfOkRGxoPTyrxUZ3XCK08+iEd1xuvOKaLDHzq5CUVTL2mis+ZaZJmWxcdTAwMDfFmVx1MDAwZaXMXHUwMDE3z3bO/PaBvTXdXHUwMDFjXHUwMDE5q4nsJpKxXHUwMDFh7Fx1MDAxNU/Odn5lrFx1MDAxNsMrMo+aXCJcdTAwMGYqeFwirZigKXds1VSEVmQnrL7aLWNcdTAwMTXT1NqMiVhfL+cpQ/Uq3FH/a1Zerv10KatE462GXCLKXG6nT1ktNVx1MDAxYamccdNcdTAwMTm8X3lcdTAwMTVZVEaFarxcIkaBkqHwoZKyofjqXHUwMDA0cZvMjeRCqEyXvEHBVEZ6lItr6KBKQNxHqVxmKI9cdTAwMDNcYmIzhkxGeSZcdTAwMDG49ax0nDmDXHUwMDAylCVcdTAwMDVuUJ1IoYeKXHUwMDFltGOhUFuQXHUwMDFihaTUyMo1XHUwMDA2XHUwMDE1gu4w0qxcdTAwMTK5zFx1MDAwNGFcdTAwMTHqtkT2XHUwMDFmScuw+VKM2Fxij1F8XHUwMDAwR8wo1cuUXHUwMDEwxWk91L+f37Jr41x1MDAwNs3GxVantfW1nThcXEou5cxypaxcdTAwMTHM4bybOFx1MDAxM0OBrNCpgaTdfVx1MDAwYnpCJvaZ+NawR4dA+WUp59Y6ocJcdTAwMWZcdTAwMDekrcDxVjguuZbA37tcXCru6LFgPenwRe7wilxiPV32kddh71x1MDAxNz2egVx1MDAwMfVcdTAwMThhNnGnbC2/pd7t7eyu3a9cdTAwMTSb2V9I3qpA1mbpUE46PGbs+M9cdTAwMTdrzalcdTAwMWKAdSgpweKE8Gh6XHUwMDBi12ggQaJcdTAwMTlXaLlLzFxc5SA8XHLUKVogsVx1MDAxNzapT0xSnFxirY5G6/xhe2dkh7Vccld8l02xbrv9fqvefp77XHUwMDE4rpXx9Vx1MDAxM5Ou317BPl+7vT1cdTAwMWHgXVx1MDAxZFn3+YeW/7hcdTAwMTRfQ/+6XHUwMDE4PohcdTAwMDJcdTAwMGZcclx1MDAwMVx1MDAwMc1cdTAwMWY6179+++v/XHUwMDAxXHUwMDFllZL/In0=Lucene 8Elasticsearch 7ANDOpenSearch 1Lucene 7loadcan readElasticsearch 6loadsLucene 6Elasticsearch 5loadsElasticsearch 2loadsElasticsearch 1loadsLucene 5Lucene 4can readcan readcan readLucene 9Elasticsearch 8ANDOpenSearch 2loadcan readcan readLucene 10OpenSearch 3loadscan readpossibly can read \ No newline at end of file diff --git a/docs/diagrams/OverallArchitecture.svg b/docs/diagrams/OverallArchitecture.svg index ed01768dec..ec9630cfcd 100644 --- a/docs/diagrams/OverallArchitecture.svg +++ b/docs/diagrams/OverallArchitecture.svg @@ -1,2 +1 @@ - -
Clients
[Not supported by viewer]
<div></div>
Programmatically Deployed Infrastructure 
<div></div><b>Programmatically Deployed </b><b>Infrastructure </b>
Deployed by the customer to supply traffic logs
[Not supported by viewer]
Source Cluster
<div><b>Source Cluster</b></div>
Target Cluster
Target Cluster
Replayer

[Not supported by viewer]
Historical
Capture


[Not supported by viewer]
Traffic
Logging
[Not supported by viewer]
Source Configuration
Discovery 
+
Synchronization Checks
[Not supported by viewer]
Target Cluster
Deployment
[Not supported by viewer]
Load Balancer*
[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
Source/Target
Traffic Stream

[Not supported by viewer]
Migration
Dashboard
Orchestrator
[Not supported by viewer]
Realtime
Report
Repository
[Not supported by viewer]
After Client
Upgrade
After Client<br>Upgrade
Compatibility
Shim

[Not supported by viewer]
1
[Not supported by viewer]
2
[Not supported by viewer]
3
[Not supported by viewer]
4
[Not supported by viewer]
2
[Not supported by viewer]
5
[Not supported by viewer]
Numbers denote the sequence of events.
  1) Existing client traffic is flowing through the source cluster, by way of a load balancer that serves as a point of
         indirection to support switchover later.
  2) The target cluster is configured and deployed while traffic logging is enabled for the source cluster.
  3) Traffic is replayed to the target cluster, fully verified by the user.
  4) After the user is satisfied and the data is synchronized, the load balancer switches all traffic to the new infrastructure.
         Traffic is driven through a compatibility shim to allow client changes to be deployed in the next phase.
  5) As clients are converted, they bypass the compatibility shim and connect directly.

* The load balancer deployment is optional.  If a mechanism to switch traffic already exists, that can be used instead
[Not supported by viewer]
\ No newline at end of file +
Clients
[Not supported by viewer]
<div></div>
Programmatically DeployedInfrastructure
<div></div><b>Programmatically Deployed </b><b>Infrastructure </b>
Deployed by the customer to supply traffic logs
[Not supported by viewer]
Source Cluster
<div><b>Source Cluster</b></div>
Target Cluster
Target Cluster
Replayer

[Not supported by viewer]
Historical
Capture


[Not supported by viewer]
Traffic
Logging
[Not supported by viewer]
Source Configuration
Discovery
+
Synchronization Checks
[Not supported by viewer]
Target Cluster
Deployment
[Not supported by viewer]
Load Balancer*
[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
Source/Target
Traffic Stream

[Not supported by viewer]
Migration
Dashboard
Orchestrator
[Not supported by viewer]
Realtime
Report
Repository
[Not supported by viewer]
After Client
Upgrade
After Client<br>Upgrade
Compatibility
Shim

[Not supported by viewer]
1
[Not supported by viewer]
2
[Not supported by viewer]
3
[Not supported by viewer]
4
[Not supported by viewer]
2
[Not supported by viewer]
5
[Not supported by viewer]
Numbers denote the sequence of events.
1) Existing client traffic is flowing through the source cluster, by way of a load balancer that serves as a point of
indirection to support switchover later.
2) The target cluster is configured and deployed while traffic logging is enabled for the source cluster.
3) Traffic is replayed to the target cluster, fully verified by the user.
4) After the user is satisfied and the data is synchronized, the load balancer switches all traffic to the new infrastructure.
Traffic is driven through a compatibility shim to allow client changes to be deployed in the next phase.
5) As clients are converted, they bypass the compatibility shim and connect directly.

* The load balancer deployment is optional. If a mechanism to switch traffic already exists, that can be used instead
[Not supported by viewer]
\ No newline at end of file diff --git a/docs/diagrams/PhantomRequestStreamScenario.svg b/docs/diagrams/PhantomRequestStreamScenario.svg index 0e8d324050..7cf87be5f5 100644 --- a/docs/diagrams/PhantomRequestStreamScenario.svg +++ b/docs/diagrams/PhantomRequestStreamScenario.svg @@ -1,2 +1 @@ - -
Scenario with Potential Phantom Writes1
Scenario with Potential Phantom Writes<sup>1</sup>
1. This model presumes that the logging facilities - whether they are in a proxy or plugin, are able to guarantee that ALL mutating requests (PUT, POST, DELETE) on an index are guaranteed to be in the stream.

A naive implementation of this could put an additional 10ms of latency on each mutating request and only forward the request through the cluster after the commit has been confirmed.  Future work can look to build an alternate plugin or to tap into facilities already available to remove this commit from the critical path. 

2. These are mutating requests that have no associated response

3. Verifying if a mutation was indeed committed will be a challenge.  We'll need to presume that while this is rare, it's likely to affect a number of sequential requests.  That means that an approach that simply counts unaccounted side effects (like observing sequence number diffs) won't be full-proof.  For source clusters that are ElasticSearch/OpenSearch, we should leverage the translog (via a plugin) to quickly determine whether a change was successful (see docs).  If we don't have access to a correlating translog, each type of request may need to have a custom check, which could also require additional queries to be run through the source cluster.
[Not supported by viewer]
Traffic Logs
with All Mutating
Requests Guaranteed
[Not supported by viewer]
Target Cluster
Target Cluster
User Amendments
<div>User Amendments</div>
Consolidated
Log Stream
[Not supported by viewer]
Traffic Replay
Channel
[Not supported by viewer]
Source Cluster
Source Cluster
Verify
Phantom
Writes
(very rare)3
[Not supported by viewer]
Confirm 
Requests as
Reconciliations
or Drops
the Request
[Not supported by viewer]
Reconciler
<b>Reconciler</b>
Phantom Writes2
Phantom Writes<sup>2</sup>
\ No newline at end of file +
Scenario with Potential Phantom Writes1
Scenario with Potential Phantom Writes<sup>1</sup>
1. This model presumes that the logging facilities - whether they are in a proxy or plugin, are able to guarantee that ALL mutating requests (PUT, POST, DELETE) on an index are guaranteed to be in the stream.

A naive implementation of this could put an additional 10ms of latency on each mutating request and only forward the request through the cluster after the commit has been confirmed. Future work can look to build an alternate plugin or to tap into facilities already available to remove this commit from the critical path.

2. These are mutating requests that have no associated response

3. Verifying if a mutation was indeed committed will be a challenge. We'll need to presume that while this is rare, it's likely to affect a number of sequential requests. That means that an approach that simply counts unaccounted side effects (like observing sequence number diffs) won't be full-proof. For source clusters that are ElasticSearch/OpenSearch, we should leverage the translog (via a plugin) to quickly determine whether a change was successful (see docs). If we don't have access to a correlating translog, each type of request may need to have a custom check, which could also require additional queries to be run through the source cluster.
[Not supported by viewer]
Traffic Logs
with All Mutating
Requests Guaranteed
[Not supported by viewer]
Target Cluster
Target Cluster
User Amendments
<div>User Amendments</div>
Consolidated
Log Stream
[Not supported by viewer]
Traffic Replay
Channel
[Not supported by viewer]
Source Cluster
Source Cluster
Verify
Phantom
Writes
(very rare)3
[Not supported by viewer]
Confirm
Requests as
Reconciliations
or Drops
the Request
[Not supported by viewer]
Reconciler
<b>Reconciler</b>
Phantom Writes2
Phantom Writes<sup>2</sup>
\ No newline at end of file diff --git a/docs/diagrams/Replayer.svg b/docs/diagrams/Replayer.svg index da7e06ef98..965571849f 100644 --- a/docs/diagrams/Replayer.svg +++ b/docs/diagrams/Replayer.svg @@ -1,2 +1 @@ - -
Replayer
[Not supported by viewer]
Logged Request/Response Message
<div><b>Logged Request/Response Message</b></div>
Request Id (when seq #s are omitted)
Request Id (when seq #s are omitted)
Request
Request
Response
Response
Request Timing Data
Request Timing Data
Response Timing Data
Response Timing Data
Source IP
Source IP
Cluster Node IP
Cluster Node IP
Source Cluster
Config
[Not supported by viewer]
Key Value Store
Source->Target
Sequence Numbers
(updated via 2 phase commit)
[Not supported by viewer]
Target OpenSearch Cluster
Target OpenSearch Cluster
Source Request Parser
Source Request Parser
User Defined Transformations
User Defined Transformations
Request Stager
Request Stager
Faults in the replayer will result in messages being replayed again.  Optimistic locking and version numbers are critical to enforcing a single action per request
[Not supported by viewer]
Source Request Stager
Source Request Stager
Response Listener
Response Listener
Source/Target
Traffic Stream
Source/Target<br>Traffic Stream
User
Mapper
[Not supported by viewer]
Overview
[Not supported by viewer]
Replayer
<div>Replayer</div>
Mutation Requests
Mutation Requests
Target Cluster
Target Cluster
Traffic Comparator
<b>Traffic Comparator</b>
Readonly Requests
Readonly Requests
Source/Target
Traffic Stream
[Not supported by viewer]
Auth (& User Mapper)
Auth (& User Mapper)
Transformers
Transformers
Version Mapper
Version Mapper
\ No newline at end of file +
Replayer
[Not supported by viewer]
Logged Request/Response Message
<div><b>Logged Request/Response Message</b></div>
Request Id (when seq #s are omitted)
Request Id (when seq #s are omitted)
Request
Request
Response
Response
Request Timing Data
Request Timing Data
Response Timing Data
Response Timing Data
Source IP
Source IP
Cluster Node IP
Cluster Node IP
Source Cluster
Config
[Not supported by viewer]
Key Value Store
Source->Target
Sequence Numbers
(updated via 2 phase commit)
[Not supported by viewer]
Target OpenSearch Cluster
Target OpenSearch Cluster
Source Request Parser
Source Request Parser
User Defined Transformations
User Defined Transformations
Request Stager
Request Stager
Faults in the replayer will result in messages being replayed again. Optimistic locking and version numbers are critical to enforcing a single action per request
[Not supported by viewer]
Source Request Stager
Source Request Stager
Response Listener
Response Listener
Source/Target
Traffic Stream
Source/Target<br>Traffic Stream
User
Mapper
[Not supported by viewer]
Overview
[Not supported by viewer]
Replayer
<div>Replayer</div>
Mutation Requests
Mutation Requests
Target Cluster
Target Cluster
Traffic Comparator
<b>Traffic Comparator</b>
Readonly Requests
Readonly Requests
Source/Target
Traffic Stream
[Not supported by viewer]
Auth (& User Mapper)
Auth (& User Mapper)
Transformers
Transformers
Version Mapper
Version Mapper
\ No newline at end of file diff --git a/docs/diagrams/SourceTargetCutover.svg b/docs/diagrams/SourceTargetCutover.svg index a3f1281ce5..a251433cdb 100644 --- a/docs/diagrams/SourceTargetCutover.svg +++ b/docs/diagrams/SourceTargetCutover.svg @@ -1,2 +1 @@ - -
Replayer
<div>Replayer</div>
Target Index-Sharded
Chronological
 Traffic Channels
[Not supported by viewer]
Verify Receipt of
Sync Requests
Verify Receipt of<br>Sync Requests
Composite Traffic Logs
(Source Cluster + 
Target Cluster)
[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Lock Writes and Send Sync Requests
Lock Writes and Send Sync Requests
Route Traffic to the
Target Cluster
Route Traffic to the <br>Target Cluster
Cleanup Transient
Synchronization Entries (if any)
Cleanup Transient<br>Synchronization Entries (if any)
Synchronization
Orchestrator
[Not supported by viewer]
Source Cluster
<div><b>Source Cluster</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
1
[Not supported by viewer]
3
[Not supported by viewer]
2
[Not supported by viewer]
Load Balancer*
[Not supported by viewer]
Target Cluster
<div><b>Target Cluster</b></div>
4
[Not supported by viewer]
\ No newline at end of file +
Replayer
<div>Replayer</div>
Target Index-Sharded
Chronological
Traffic Channels
[Not supported by viewer]
Verify Receipt of
Sync Requests
Verify Receipt of<br>Sync Requests
Composite Traffic Logs
(Source Cluster +
Target Cluster)
[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Lock Writes and Send Sync Requests
Lock Writes and Send Sync Requests
Route Traffic to the
Target Cluster
Route Traffic to the <br>Target Cluster
Cleanup Transient
Synchronization Entries (if any)
Cleanup Transient<br>Synchronization Entries (if any)
Synchronization
Orchestrator
[Not supported by viewer]
Source Cluster
<div><b>Source Cluster</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
1
[Not supported by viewer]
3
[Not supported by viewer]
2
[Not supported by viewer]
Load Balancer*
[Not supported by viewer]
Target Cluster
<div><b>Target Cluster</b></div>
4
[Not supported by viewer]
\ No newline at end of file diff --git a/docs/diagrams/TrafficComparator.svg b/docs/diagrams/TrafficComparator.svg index 22a5388a36..a31ab140b3 100644 --- a/docs/diagrams/TrafficComparator.svg +++ b/docs/diagrams/TrafficComparator.svg @@ -1,2 +1 @@ - -
Captured Traffic
[Not supported by viewer]

Traffic
Comparator
[Not supported by viewer]
Key Value Store
Source->Target
Sequence Numbers
[Not supported by viewer]
Parser
Parser
User Defined Comparisons
User Defined Comparisons
Source Normalizer
Source Normalizer
Result Publisher
Result Publisher
Performance Comparisons
Performance Comparisons
Linked State Mapper
Linked State Mapper
Linked State Mapper
Linked State Mapper
Realtime
Report
Repository
[Not supported by viewer]
Overview
[Not supported by viewer]
Replayer

[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
Source/Target
Traffic Stream

[Not supported by viewer]
Migration
Dashboard
Orchestrator
[Not supported by viewer]
Realtime
Report
Repository
[Not supported by viewer]
Target Cluster
<div><b>Target Cluster</b></div>
Request Id
Request Id
Transformed Request
Transformed Request
Response
Response
Request Timing Data
Request Timing Data
Response Timing Data
Response Timing Data
Source IP
Source IP
Cluster Node IP
Cluster Node IP
Source Cluster
<div><b>Source Cluster</b></div>
Request Id
Request Id
Request
Request
Response
Response
Request Timing Data
Request Timing Data
Response Timing Data
Response Timing Data
Source IP
Source IP
Cluster Node IP
Cluster Node IP
Target Normalizer
Target Normalizer
Parser
Parser
User
Mapper
[Not supported by viewer]
\ No newline at end of file +
Captured Traffic
[Not supported by viewer]

Traffic
Comparator
[Not supported by viewer]
Key Value Store
Source->Target
Sequence Numbers
[Not supported by viewer]
Parser
Parser
User Defined Comparisons
User Defined Comparisons
Source Normalizer
Source Normalizer
Result Publisher
Result Publisher
Performance Comparisons
Performance Comparisons
Linked State Mapper
Linked State Mapper
Linked State Mapper
Linked State Mapper
Realtime
Report
Repository
[Not supported by viewer]
Overview
[Not supported by viewer]
Replayer

[Not supported by viewer]
Traffic Comparator
<div><b>Traffic Comparator</b></div>
Captured Source
Traffic Stream
<b>Captured Source<br>Traffic Stream</b>
Source/Target
Traffic Stream

[Not supported by viewer]
Migration
Dashboard
Orchestrator
[Not supported by viewer]
Realtime
Report
Repository
[Not supported by viewer]
Target Cluster
<div><b>Target Cluster</b></div>
Request Id
Request Id
Transformed Request
Transformed Request
Response
Response
Request Timing Data
Request Timing Data
Response Timing Data
Response Timing Data
Source IP
Source IP
Cluster Node IP
Cluster Node IP
Source Cluster
<div><b>Source Cluster</b></div>
Request Id
Request Id
Request
Request
Response
Response
Request Timing Data
Request Timing Data
Response Timing Data
Response Timing Data
Source IP
Source IP
Cluster Node IP
Cluster Node IP
Target Normalizer
Target Normalizer
Parser
Parser
User
Mapper
[Not supported by viewer]
\ No newline at end of file diff --git a/docs/diagrams/migration-console-arch.svg b/docs/diagrams/migration-console-arch.svg index 32b552c9cc..06fa744d13 100644 --- a/docs/diagrams/migration-console-arch.svg +++ b/docs/diagrams/migration-console-arch.svg @@ -1,2 +1 @@ - -
Customer VPC
<div><b>Customer VPC</b><br></div>
Source Cluster
<div><b>Source Cluster</b></div>
Target Cluster
[Not supported by viewer]
Reindex-From-Snapshot
Service
[Not supported by viewer]
Replayer Service
<div><b>Replayer Service</b><br></div>
Shared Logs
EFS Volume
[Not supported by viewer]
Kafka Cluster
[Not supported by viewer]
Cloudwatch Metrics
<div><b>Cloudwatch Metrics</b><br></div>
Deployment
Environment
[Not supported by viewer]
Migration Console
<div><b>Migration Console</b><br></div>
migration-
services.yaml
[Not supported by viewer]
\ No newline at end of file +
Customer VPC
<div><b>Customer VPC</b><br></div>
Source Cluster
<div><b>Source Cluster</b></div>
Target Cluster
[Not supported by viewer]
Reindex-From-Snapshot
Service
[Not supported by viewer]
Replayer Service
<div><b>Replayer Service</b><br></div>
Shared Logs
EFS Volume
[Not supported by viewer]
Kafka Cluster
[Not supported by viewer]
Cloudwatch Metrics
<div><b>Cloudwatch Metrics</b><br></div>
Deployment
Environment
[Not supported by viewer]
Migration Console
<div><b>Migration Console</b><br></div>
migration-
services.yaml
[Not supported by viewer]
\ No newline at end of file