All Products
Search
Document Center

Tablestore:SocketTimeoutException dengan Java SDK Tablestore

Last Updated:May 07, 2026

Klien dapat mengalami timeout saat mengakses Tablestore akibat kegagalan jaringan, jitter jaringan, beban server yang tinggi, atau event Full Garbage Collection (GC) di sisi klien. Jika terjadi timeout, lakukan pemecahan masalah dengan memeriksa konektivitas jaringan, latensi server, dan potensi masalah Full GC di sisi klien.

Symptoms

Saat menggunakan Java SDK untuk mengakses Tablestore, Anda mungkin menerima pesan Unexpected error: java.net.SocketTimeoutException. Berikut contoh pesan error tersebut:

content: 11:56:48.072 WARN  com.alicloud.openservices.tablestore.core.utils.LogUtil - TraceId:4bc30ca1-f112-2d52-d8b1-61a95072eda5	Failed	RetriedCount:1	com.alicloud.openservices.tablestore.ClientException: Unexpected error: java.net.SocketTimeoutException

Possible causes

Error ini terjadi ketika durasi antara permintaan dan respons melebihi nilai socketTimeoutInMillisecond. Nilai default parameter ini adalah 30.000 milidetik.

Catatan

Dalam kondisi normal, hindari menetapkan nilai socketTimeoutInMillisecond terlalu rendah. Anda dapat mengonfigurasi nilai ini melalui ClientConfiguration.

Kemungkinan penyebabnya meliputi hal-hal berikut:

  • Klien mengalami event Full GC.

  • Masalah jaringan, seperti kegagalan jaringan atau jitter.

  • Latensi tinggi di sisi server yang melebihi nilai socketTimeoutInMillisecond.

Solution

  1. Periksa adanya masalah Full GC di sisi klien.

    Gunakan alat seperti jmap dan jcmd untuk memeriksa penggunaan memori JVM dan mendeteksi error out-of-memory (OOM).

    Jika terjadi error OOM, thread I/O latar belakang HttpClient mungkin keluar secara tidak terduga. Untuk mengatasinya:

    • Jika penggunaan memori tidak normal atau terdapat memory leak, optimalkan kode.

    • Jika penggunaan memori wajar tetapi sumber daya mesin tidak mencukupi, tambahkan memori yang tersedia.

    • Jika mesin dalam keadaan idle dan penggunaan memori rendah, tingkatkan heap memory JVM untuk mengurangi kemungkinan terjadinya event Full GC.

    Selain itu, SocketTimeoutException juga dapat terjadi saat beban mesin tinggi, laju error jaringan tinggi, atau pemanfaatan CPU tinggi. Dalam kasus ini, permintaan mungkin mengalami timeout sebelum sempat dikirim.

  2. Periksa konektivitas jaringan antara klien dan server.

    Jika semua permintaan gagal dengan SocketTimeoutException, kemungkinan besar disebabkan oleh kegagalan jaringan. Gunakan perintah ping atau curl untuk menguji adanya masalah jaringan.

    Contoh berikut menunjukkan cara menjalankan pengujian tersebut. Ganti myinstance dengan nama instans Tablestore Anda.

    ping myinstance.cn-hangzhou.ots.aliyuncs.com
    curl myinstance.cn-hangzhou.ots.aliyuncs.com
    • Jika Anda menemukan kegagalan jaringan, kemungkinan Anda menggunakan titik akhir internal di lingkungan non-ECS. Pastikan Anda menggunakan titik akhir yang sesuai. Untuk informasi lebih lanjut tentang titik akhir, lihat Endpoints.

      Jika klien Anda mengakses Tablestore dari Instance ECS, lakukan koneksi melalui VPC atau jaringan klasik.

    • Jika konektivitas jaringan tersedia tetapi timeout tetap terjadi, jitter jaringan mungkin menyebabkan latensi tinggi. Periksa adanya trafik tinggi, bandwidth tidak mencukupi, atau laju pengiriman ulang paket yang tinggi. Jika Anda mendeteksi jitter jaringan yang signifikan, hubungi dukungan jaringan.

  3. Untuk memeriksa latensi sisi server pada Konsol Tablestore, ikuti langkah-langkah berikut:

    1. Masuk ke Konsol Tablestore.

    2. Pada bilah navigasi atas, pilih kelompok sumber daya dan wilayah.

    3. Pada halaman Overview, klik nama instans Anda dalam daftar instans.

    4. Pada tab Instance Details, klik nama tabel data di area Tables.

    5. Pada halaman Manage Table, klik tab Monitoring Indicators. Kemudian, pilih tabel atau indeks, tentukan rentang waktu, dan atur Metric Group menjadi Average Latency untuk melihat latensi rata-rata berbagai jenis operasi.

      Jika latensi sisi server melebihi nilai socketTimeoutInMillisecond, submit a ticket ke dukungan teknis Tablestore.

      fig_20220217_mointor