How I Found a Go Issue on ARM that Crashed the Database Server

TiDB is an open-source, MySQL-compatible, distributed SQL database. Its architecture adopts a layered design. The storage layer is implemented in Rust, while the computing layer is implemented in Go. A distributed database like TiDB is a very complex project. Its performance depends on multiple factors, such as the operating system and the hardware platform it is running on, and the compiling language it uses.

In this article, I will share a peculiar Go bug that caused TiDB to crash on the Advanced RISC Machine (ARM) platform.

Set Up AWS EC2 Instance: RedHat Enterprise Linux 8 (RHEL 8)

Amazon EC2 instances are the most widely used Virtual Machines. In general, EC2 or Elastic Compute Cloud instances run on the hypervisors, it's like a remote computer running a Windows or Linux OS on which you can install whatever software you want, including a Web Server running PHP application and a Database Server. 

In this article, I'm gonna show you how to set up an AWS EC2 instance - RedHat Enterprise Linux (RHEL8) and to access it remotely using SSH client from a local computer.