-
Notifications
You must be signed in to change notification settings - Fork 10.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Second build doesn't update MediaNode links in HTML #39204
Comments
Ok, I found that the file is written by
Now can somebody help with the following?
|
I was partially wrong, upon inspecting again, the images has some links to /static and some to still wordpress in srcset, pls see the element HTML below <img loading="lazy" width="1024" height="893"
src="/static/abd575a4fbeeaff6c2a2bfc9ca4ab4a7/blog-internal-designs-01-01-1024x893-1.png" alt=""
class="wp-image-6537"
srcset="
/static/abd575a4fbeeaff6c2a2bfc9ca4ab4a7/blog-internal-designs-01-01-1024x893-1.png 1024w,
https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-01-1024x893-1-300x262.png 300w,
https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-01-1024x893-1-768x670.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px"
> At this point, I'm completely lost |
Upon more debugging, I found out that If I add image in the end in wordpress, then the last image turns out correct but if I add them in between, it breaks 2nd build afterwards. Now 2 things I cannot understand,
|
This is raw HTML sent by wordpress graphql <p><strong><tl;dr></strong></p>
<p><em>– Elasticsearch Upgrade for a cluster takes more than 10hrs by 2SREs manually and entails considerable back
and forth.</em></p>
<p><em>– SRE has automated the entire flow for rolling upgrades without downtime along with strict guardrails,
killswitch, regular slack bots.</em></p>
<p><em>– Automation has been executed in prod more than 10 times.</em></p>
<p><em>– Now each cluster takes 4 to 6hrs. Also, this can be done parallelly with any no: of clusters, with
minimum involvement by an SRE for not more than 30 mins</em></p>
<p><strong></tl;dr></strong></p>
<h2>What is Elasticsearch? </h2>
<ul>
<li>Elasticsearch is a search engine that stores data in Lucene index . Lucene index consists of inverted index. <a
href="https://braineanear.medium.com/elasticsearch-architecture-x-exploration-of-the-inverted-index-3928458a6a85#:~:text=In%20Elasticsearch%2C%20the%20inverted%20index,with%20high%20speed%20and%20accuracy">Read
this for more info.</a></li>
<li>With this inverted index storage, retrieval capability and data management across nodes, that can horizontally /
vertically scale up, scale down; provide data availability, user access management, data life cycle management
and logging & plotting graphs by making sense out of it; the entire bundle is called ELK (Elasticsearch,
Logstash, and Kibana). For the Foxtrot use case, however, we use only Elasticsearch or Elasticsearch Cluster.
</li>
</ul>
<h2>What is an index?</h2>
<ul>
<li>The Term <code>Index</code> is logically a table in traditional database. </li>
<li>Each index will have 2 properties ; Number of Shards and Number of Replica. </li>
</ul>
<p><strong> i.e. :
</strong><em><strong> { index_name : Student ; Shards: 3 ; Replica : 2 } </strong></em></p>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="893"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-01-1024x893-1.png"
alt="" class="wp-image-6537"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-01-1024x893-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-01-1024x893-1-300x262.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-01-1024x893-1-768x670.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p><strong>Shard and Replica: </strong>There are 3 Servers/Nodes and the student Index will have 3 Shards and each Shard
will have its own replica. Shards are nothing but data chunks/slices.</p>
<h3>What happens when Node1 goes down? </h3>
<p>In case of failure of one node, you will <strong>not have </strong>data-loss. <strong><em>Because Elasticsearch will
not co-host its replica on the same node as primary (Default).</em></strong></p>
<h2>What are called Roles in Elasticsearch?</h2>
<figure class="wp-block-image size-full"><img loading="lazy" width="847" height="1024"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-02-847x1024-1.png"
alt="" class="wp-image-6603"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-02-847x1024-1.png 847w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-02-847x1024-1-248x300.png 248w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-02-847x1024-1-768x928.png 768w"
sizes="(max-width: 847px) 100vw, 847px" /></figure>
<p><strong>Data:</strong> Has data of index, shards, primary/replica as we saw above.</p>
<p><strong>Query: </strong>Doesn’t store data, it empowers query/ingestion processing layer for applications to
use connection pooling to retrieve or put data.</p>
<p><strong>Master:</strong> Maintains the metadata of who has what data/shard and which node. Also takes care of node
failure and joining and rebalance operations. </p>
<h2>What is Foxtrot and its Infra Foot Print on Elasticsearch?</h2>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="645"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-03-1024x645-1.png"
alt="" class="wp-image-6621"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-03-1024x645-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-03-1024x645-1-300x189.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-03-1024x645-1-768x484.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p><strong>Elasticsearch Architecture For Foxtrot Application :</strong></p>
<p><strong>BM = Baremetal</strong></p>
<p><strong>Node/VM = Virtual Machine</strong></p>
<p><strong>In 1 BM we have 4 VMs/Nodes</strong></p>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="450"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-04-1024x450-1.png"
alt="" class="wp-image-6645"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-04-1024x450-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-04-1024x450-1-300x132.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-04-1024x450-1-768x338.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h2>What is a BM Aware?</h2>
<figure class="wp-block-image size-full"><img loading="lazy" width="1016" height="1024"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-05-1016x1024-1.png"
alt="" class="wp-image-6657"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-05-1016x1024-1.png 1016w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-05-1016x1024-1-298x300.png 298w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-05-1016x1024-1-150x150.png 150w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-05-1016x1024-1-768x774.png 768w"
sizes="(max-width: 1016px) 100vw, 1016px" /></figure>
<p>As per above image ,</p>
<p>Data_Yellow ( Primary in BM21.Node1 ; Replica in BM43.Node4)</p>
<p>Data_Red ( Primary in BM87.Node2 ; Replica in BM81.Node3)</p>
<p>Replica data will be spread on a different BM than and not in its Primary’s BM.</p>
<p>Its a cluster level setting , mentioned like below. “allocation” : { “awareness” : {
“attributes” : “rack_id” #rack_id is the BM_NUMBER# for us.</p>
<p>Why because chances of BM to go down is higher, and if primary and replica stays in different VMs</p>
<h2>Story telling begins:</h2>
<h3><strong>Let’s get into why the tool exists</strong></h3>
<p>Previously, we used Elasticsearch 7.10, and recent perf results for different versions gave us better perf results.
</p>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="678"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-06-1024x678-1.png"
alt="" class="wp-image-6681"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-06-1024x678-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-06-1024x678-1-300x199.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-06-1024x678-1-768x509.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<p><strong>Verdict based on Perf: </strong>We had to perform in place upgrade of all clusters from 7.10 to 7.17 and then
to 8.9 as there is no direct upgrade to 8.9 from 7.10.</p>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="678"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-07-1024x678-1.png"
alt="" class="wp-image-6693"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-07-1024x678-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-07-1024x678-1-300x199.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-07-1024x678-1-768x509.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h3>A Look at our Working Architecture : </h3>
<p>[The next section is followed by the details]</p>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="711"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-08-1024x711-1.png"
alt="" class="wp-image-6705"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-08-1024x711-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-08-1024x711-1-300x208.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-08-1024x711-1-768x533.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h3><strong>Outcome is: </strong></h3>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="467"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-09-1024x467-1.png"
alt="" class="wp-image-6729"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-09-1024x467-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-09-1024x467-1-300x137.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-01-09-1024x467-1-768x350.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h3><strong>Details:</strong></h3>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="223"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-10-1024x223-1.png"
alt="" class="wp-image-6741"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-10-1024x223-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-10-1024x223-1-300x65.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-10-1024x223-1-768x167.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="223"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-11-1024x223-1.png"
alt="" class="wp-image-6753"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-11-1024x223-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-11-1024x223-1-300x65.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-11-1024x223-1-768x167.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="304"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-12-1024x304-1.png"
alt="" class="wp-image-6771"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-12-1024x304-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-12-1024x304-1-300x89.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-12-1024x304-1-768x228.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="448"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-13-1024x448-1.png"
alt="" class="wp-image-6783"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-13-1024x448-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-13-1024x448-1-300x131.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-13-1024x448-1-768x336.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-14-1024x281-1.png"
alt="" class="wp-image-6801"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-14-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-14-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-14-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-15-1024x281-1.png"
alt="" class="wp-image-6813"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-15-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-15-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-15-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-16-1024x281-1.png"
alt="" class="wp-image-6825"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-16-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-16-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-16-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-17-1024x281-1.png"
alt="" class="wp-image-6843"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-17-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-17-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-17-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-18-1024x281-1.png"
alt="" class="wp-image-6861"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-18-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-18-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-18-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-19-1024x281-1.png"
alt="" class="wp-image-6999"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-19-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-19-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-19-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-20-1024x281-1.png"
alt="" class="wp-image-6885"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-20-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-20-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-20-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="281"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-21-1024x281-1.png"
alt="" class="wp-image-6897"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-21-1024x281-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-21-1024x281-1-300x82.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-21-1024x281-1-768x211.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="304"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-22-1024x304-1.png"
alt="" class="wp-image-6909"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-22-1024x304-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-22-1024x304-1-300x89.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-22-1024x304-1-768x228.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="304"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-23-1024x304-1.png"
alt="" class="wp-image-6927"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-23-1024x304-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-23-1024x304-1-300x89.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-23-1024x304-1-768x228.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="304"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-24-1024x304-1.png"
alt="" class="wp-image-6939"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-24-1024x304-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-24-1024x304-1-300x89.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-24-1024x304-1-768x228.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="304"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-25-1024x304-1.png"
alt="" class="wp-image-6951"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-25-1024x304-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-25-1024x304-1-300x89.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-25-1024x304-1-768x228.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="304"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-26-1024x304-1.png"
alt="" class="wp-image-6963"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-26-1024x304-1.png 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-26-1024x304-1-300x89.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/blog-internal-designs-26-1024x304-1-768x228.png 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h2>Automation Flow Explanation:</h2>
<p>@ <code>UpgradeTime - 2</code> : </p>
<ul>
<li> Input all details for the cluster that one wants to upgrade and verify if it’s all intact and make a note
of what the cluster intact signal is going to look like.</li>
</ul>
<p>@ <code>UpgradeTime - 1</code> :</p>
<ul>
<li>Ping from Salt Master to all its minions/nodes.</li>
<li>Perform Version checks to all nodes.</li>
<li>Perform config checks if it’s intact with git config of that cluster.</li>
</ul>
<p>@ <code>UpgradeTime </code>:</p>
<figure class="wp-block-image size-full"><img loading="lazy" width="1024" height="801"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/Eastic-search-blog-Infographics-1024x801-1.jpg"
alt="" class="wp-image-6981"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/Eastic-search-blog-Infographics-1024x801-1.jpg 1024w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/Eastic-search-blog-Infographics-1024x801-1-300x235.jpg 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2024/12/Eastic-search-blog-Infographics-1024x801-1-768x601.jpg 768w"
sizes="(max-width: 1024px) 100vw, 1024px" /></figure>
<h2>What is Cluster intact Flow ?</h2>
<ol type="1">
<li>All nodes are in cluster as per data received
<strong>@ </strong><code><strong>UpgradeTime - 2</strong></code><strong> </strong>.</li>
<li>Is Cluster green?</li>
<li>( initialize_shards < 10, unassigned_shards = 0)</li>
<li>active_shards_percent_as_number is 100%</li>
<li>Are expected Nodes upgraded to Latest Version?</li>
<li>If all above 5 are good, then give a Green signal.</li>
</ol>
<h2>What is Upgrade Execution Flow ?</h2>
<p> On Each VM</p>
<ul>
<li>Download required package from in-house mirror.</li>
<li>Backup config files to safe location</li>
<li>Stop ES</li>
<li>Upgrade ES</li>
<li>Start ES</li>
</ul>
<h2>Journey Insights :</h2>
<ul>
<li>Written in Python.</li>
<li>It took cumulatively ~35 days to code and contain 3 Phases.</li>
<li>As of now 11 upgrades have been done successfully in prod with this module.</li>
<li>Rollback automation was required in stage environment for continuous testing.</li>
<li>Guardrails were implemented in such a way that at any time not more than 4VMs are down, which is OK since the
cluster is BM aware.</li>
<li>Success rate of the upgrade is increased in the mapper phase or `@ <code>UpgradeTime - 1` </code>itself. i.e:
before actual upgrade kicks off via salt ping checks, version and discrepancy checks.</li>
<li>Adoption to enable ES Upgrader for other team’s ES Clusters in org is possible. (In progress).</li>
<li>For each test cases/features/tasks, jira has details on why, what and how, so we don’t look back and try
to find reasons for the same item again.</li>
<li>Test 0123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
</li>
</ul>
<figure class="wp-block-image size-full"><img loading="lazy" width="1000" height="1001"
src="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2025/01/2c-Working-Moms-icon-2.png"
alt="" class="wp-image-7689"
srcset="https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2025/01/2c-Working-Moms-icon-2.png 1000w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2025/01/2c-Working-Moms-icon-2-300x300.png 300w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2025/01/2c-Working-Moms-icon-2-150x150.png 150w, https://wordpress-cms.phonepe.com/tech-blog/wp-content/uploads/sites/4/2025/01/2c-Working-Moms-icon-2-768x769.png 768w"
sizes="(max-width: 1000px) 100vw, 1000px" /></figure> |
Preliminary Checks
Description
Hi,
We're using Gatsby v3 with gatsby-source-wordpress@latest-v3.
We're running into one issue where MediaItems are not correctly resolved to local and referenced to wordpress only, and this happens only for 1 page, and for subsequent builds. first build works fine, but the second and onwards doesn't update media items correctly.
Due to company I cannot share much details but would like some help on how to debug this,
Page link on production - https://tech.phonepe.com/all-an-sre-needs-to-know-automation-era-in-distributed-datastores/
In the cache file for this page
.cache/json/_all-an-sre-needs-to-know-automation-era-in-distributed-datastores_.json
I saw this for first and second builddata.post.content
As seen here, first build refers images from local static folder, and second resolves to my wordpress host, which is unexpected.
I believe this is some parsing issue in gatsby or gatsby-source-wordpress. I have tried many things to debug and see which piece of code writes to this file, but to no success.
I'd like to know the piece of code that writes to this .cache/json/.json so that I can backtrace this.
Reproduction Link
https://example.com/cannot-share-since-it-is-internal
Steps to Reproduce
NA
Expected Result
Final page should have referred images from local only.
Actual Result
Final page is referring images from wordpress host, and not resolving to local.
Environment
Config Flags
no config flags used
The text was updated successfully, but these errors were encountered: