Upgrade Preview OR Upgrade Monitor is not loading and the transaction times out with the error "[ERROR CODE: -1 ] Socket closed" in the localhost logs


Description

When opening the Upgrade Preview OR Upgrade Monitor you only see a loading screen and after waiting for 5 minutes, the transaction times out and no information is populated.

Following is what you can see in the logs for this transaction:

2020-12-29 19:11:04 (909) glide.quota.manager Quota exceeded for UI Transactions, requesting cancel
2020-12-29 19:11:04 (909) glide.quota.manager WARNING *** WARNING *** Transaction: Cancelling transaction #914670 /angular.do (maximum execution time exceeded): Thread Default-thread-4 (vaibhav.sethi@snc, 2D1D6AC31B596C101F5884415B4BCB05), after 298511ms
2020-12-29 19:11:04 (915) glide.quota.manager SYSTEM Doing HttpCancel for thread Default-thread-4
2020-12-29 19:11:04 (922) glide.quota.manager SYSTEM Cancelled 0 child transactions
2020-12-29 19:11:04 (923) Default-thread-4 2D1D6AC31B596C101F5884415B4BCB05 txid=4b1fe2c71b59 OUTBOUND_HTTP: protocol=HTTP/1.1 response_status=-1 response_time=295362 request_length=350 response_length=-1 app_scope=global session_id=2D1D6AC31B596C101F5884415B4BCB05 transaction_name="#914670 /angular.do" transaction_id=4b1fe2c71b596c101f5884415b4bcb11 user_name=vaibhav.sethi@snc mid_server= source_table= source_record= system_id=<APP_NODE> method=POST log_level=Basic scheme=http hostname=<REMOTE_INSTANCE_NAME> path=/sys_upgrade_history.do url=<REMOTE_INSTANCE_URL>/sys_upgrade_history.do response_body="[ERROR CODE: -1 ] Socket closed"
2020-12-29 19:11:04 (924) Default-thread-4 2D1D6AC31B596C101F5884415B4BCB05 txid=4b1fe2c71b59 WARNING *** WARNING *** Socket error
2020-12-29 19:11:04 (924) Default-thread-4 2D1D6AC31B596C101F5884415B4BCB05 txid=4b1fe2c71b59 SEVERE *** ERROR *** getRecords failed (Socket error)
2020-12-29 19:11:04 (924) Default-thread-4 2D1D6AC31B596C101F5884415B4BCB05 txid=4b1fe2c71b59 WARNING *** WARNING *** Long Transaction started at 12/29/20 19:06:06.398, Memory at start was 515, Memory is 330, SQL count is 84, BR count is now 0.
2020-12-29 19:11:04 (931) Default-thread-4 2D1D6AC31B596C101F5884415B4BCB05 txid=4b1fe2c71b59 WARNING *** WARNING *** Transaction cancelled: maximum execution time exceeded
2020-12-29 19:11:04 (933) Default-thread-4 2D1D6AC31B596C101F5884415B4BCB05 txid=4b1fe2c71b59 EXCESSIVE *** End #914670 /angular.do, user: vaibhav.sethi@snc, total time: 0:04:58.534, processing time: 0:04:58.533, total wait: 0:00:00.001, session wait: 0:00:00.001, SQL time: 0:00:00.206 (count: 84), Cache build time: 0:00:00.204, source: 103.23.64.60

Release or Environment

Paris and Later

Cause

There is an invalid entry in the Update Source [sys_update_set_source] table. From the logs, you will find a URL at the location where you can see <REMOTE_INSTANCE_URL> in the above logs. This URL is configured in one of the sys_update_set_source records and is the cause of the issue.

The Remote Instance [sys_update_set_source] records are being used to fetch Upgrade History [sys_upgrade_history] record from all the remote instances configured on any instance. This is used for estimating how long the upgrade will run if similar upgrade has already run on any of the remote instances. This information is then shown on the Scheduled Upgrade card on the upgrade preview and upgrade monitor pages.

Resolution

Deactivating the Remote Instance [sys_update_set_source] record with URL: "<REMOTE_INSTANCE_URL>" from the localhost logs resolves the issue.

If you do not have the logs, you can try deactivating all the records in sys_update_set_source table and see if the issue gets resolved. If yes, deactivate the records one by one and narrow down to the record which is causing the issue.