Masalah umum pada Apigee

Anda sedang melihat dokumentasi Apigee Edge.
Buka dokumentasi Apigee X.
info

Bagian berikut menjelaskan masalah umum pada Apigee. Umumnya, masalah yang tercantum akan diperbaiki dalam rilis mendatang.

Miscellaneous Edge known issues

The following sections describe miscellaneous known issues with Edge.

Area/Summary Known issues
Cache expire results in incorrect cachehit value

When the cachehit flow variable is used after the LookupCache policy, due to the way debug points are dispatched for asynchronous behavior, the LookupPolicy populates the DebugInfo object before the call back has executed, resulting in an error.

Workaround: Repeat the process (make second call) again right after the first call.

Setting InvalidateCache Policy PurgeChildEntries to true does not work correctly

Setting PurgeChildEntries in the InvalidateCache policy should purge the KeyFragment element values only but clears the entire cache.

Workaround: Use the KeyValueMapOperations policy to iterate cache versioning and bypass the need for cache invalidation.

Concurrent deployment requests for a SharedFlow or API proxy can result in an inconsistent state in the Management Server where multiple revisions are shown as deployed.

This can happen, for example, when concurrent runs of a CI/CD deployment pipeline occur using different revisions. To avoid this problem, avoid deploying API proxies or SharedFlows before the current deployment is complete.

Workaround: Avoid concurrent API proxy or SharedFlow deployments.

API call counts shown in Edge API Analytics might contain duplicate data.

Edge API Analytics can sometimes contain duplicate data for API calls. In that case the counts shown for API calls in Edge API Analytics are higher than the comparable values shown in third-party analytics tools.

Workaround: Export the analytics data and use the gateway_flow_id field to de-duplicate the data.

Known issues with the Edge UI

The following sections describe the known issues with the Edge UI.

Area Known issues
Can't access Edge SSO Zone Administration page from navigation bar after organization is mapped to an identity zone When you connect an organization to an identity zone, you can no longer access the Edge SSO Zone Administration page from the left navigation bar by selecting Admin > SSO. As a workaround, navigate to the page directly using the following URL: https://apigee.com/sso

Masalah umum pada portal terintegrasi

Bagian berikut menjelaskan masalah umum pada portal terintegrasi.

Area Masalah umum
SmartDocs
  • Apigee Edge mendukung Spesifikasi OpenAPI 3.0 saat Anda membuat spesifikasi menggunakan editor spesifikasi dan memublikasikan API menggunakan SmartDocs di portal, meskipun sebagian fitur belum didukung.

    Misalnya, fitur berikut dari Spesifikasi OpenAPI 3.0 belum didukung:

    • Properti allOf untuk menggabungkan dan memperluas skema
    • Referensi jarak jauh

    Jika fitur yang tidak didukung dirujuk dalam Spesifikasi OpenAPI Anda, dalam beberapa kasus alat akan mengabaikan fitur tersebut, tetapi tetap merender dokumentasi referensi API. Dalam kasus lain, fitur yang tidak didukung akan menyebabkan error yang mencegah rendering dokumentasi referensi API berhasil. Dalam kedua kasus tersebut, Anda harus mengubah Spesifikasi OpenAPI untuk menghindari penggunaan fitur yang tidak didukung hingga fitur tersebut didukung dalam rilis mendatang.

    Catatan: Karena editor spesifikasi kurang membatasi daripada SmartDocs saat merender dokumentasi referensi API, Anda mungkin mengalami hasil yang berbeda di antara alat tersebut.

  • Saat menggunakan Coba API ini di portal, header Accept ditetapkan ke application/json, terlepas dari nilai yang ditetapkan untuk consumes dalam Spesifikasi OpenAPI.
  • 138438484: Beberapa server tidak didukung.
Penyedia identitas SAML Single logout (SLO) dengan penyedia identitas SAML tidak didukung untuk domain kustom. Untuk mengaktifkan domain kustom dengan penyedia identitas SAML, biarkan kolom URL Logout kosong saat Anda mengonfigurasi setelan SAML.
Admin portal
  • Pembaruan portal simultan (seperti pengeditan halaman, tema, CSS, atau skrip) oleh beberapa pengguna saat ini tidak didukung.
  • Jika Anda menghapus halaman dokumentasi referensi API dari portal, tidak ada cara untuk membuatnya ulang; Anda harus menghapus dan menambahkan ulang produk API, serta membuat ulang dokumentasi referensi API.
  • Saat mengonfigurasi kebijakan keamanan konten, mungkin perlu waktu hingga 15 menit agar perubahan diterapkan sepenuhnya.
  • Saat menyesuaikan tema portal, mungkin perlu waktu hingga 5 menit agar perubahan diterapkan sepenuhnya.
Fitur portal
  • Penelusuran akan diintegrasikan ke portal terintegrasi dalam rilis mendatang.

Masalah umum pada Edge untuk Private Cloud

Bagian berikut menjelaskan masalah umum pada Edge untuk Private Cloud.

Area Masalah umum
Edge untuk Private Cloud 4.53.00 440148595: Peringatan Pop-up Akhir Masa Pakai Ditampilkan Secara Berlebihan

Di Edge untuk Private Cloud 4.53.00 dan yang lebih baru, UI menampilkan pop-up peringatan"Akhir Masa Pakai" (EOL). Peringatan ini muncul
berulang kali dan tidak dapat dicegah atau dikurangi frekuensinya.

Saat ini tidak ada metode yang tersedia bagi pengguna untuk menonaktifkan atau mengurangi frekuensi peringatan EOL ini.

Edge untuk Private Cloud 4.53.01
443272053: Error Datastore di komponen edge

Di Edge untuk Private Cloud 4.53.00 atau yang lebih baru, jenis interaksi tertentu antara Cassandra dan komponen aplikasi (Server Pengelolaan, Pemroses Pesan, atau Router) dapat menyebabkan error penyimpanan data. Jika terjadi error seperti itu, Anda akan melihat log dengan pola berikut di log sistem komponen aplikasi tertentu:

com.datastax.driver.core.exceptions.ProtocolError: An unexpected protocol error occurred on host WW.XX.YY.ZZ:9042.

Error ini terjadi saat komponen aplikasi tidak dikonfigurasi untuk menangani peringatan yang dihasilkan oleh database Cassandra. Anda dapat mengurangi masalah ini dengan menghindari atau menekan peringatan di node Cassandra Anda. Dalam sebagian besar kasus, peringatan dibuat karena terlalu banyak penanda dihapus. Anda dapat mengikuti salah satu opsi berikut atau kombinasi opsi yang tercantum:

  1. Kurangi gc_grace_seconds: Untuk tabel yang ditampilkan dalam pesan log yang terkait dengan error, kurangi gc_grace_seconds dengan menjalankan perintah berikut seperti berikut, menggunakan cqlsh:
    Below command sets gc_grace_seconds of kms.oauth_20_access_tokens to 1 day from default 10 days
    ALTER TABLE kms.oauth_20_access_tokens WITH gc_grace_seconds = '86400';
  2. Tingkatkan tombstone threshold di Cassandra untuk membuat peringatan. Untuk melakukannya, gunakan petunjuk berikut:
    1. Di node Cassandra, buat atau edit file $APIGEE_ROOT/customer/application/cassandra.properties.
    2. Tingkatkan Tombstone warn threshold menjadi 100 ribu dari 10 ribu default atau tetapkan nilai yang lebih besar sesuai kebutuhan dengan menambahkan baris berikut:
      conf_cassandra_tombstone_warn_threshold=100000
    3. Pastikan file di atas dimiliki dan dapat dibaca oleh pengguna Apigee:
      chown apigee:apigee $APIGEE_ROOT/customer/application/cassandra.properties
    4. Mulai ulang aplikasi Cassandra di node:
      apigee-service apigee-cassandra restart
    5. Ulangi langkah-langkah di atas pada setiap node Cassandra, satu per satu.
42733857: Latensi dalam memperbarui peta nilai kunci (KVM) terenkripsi

Saat bekerja dengan Peta Nilai Kunci Terenkripsi yang berisi banyak entri, pengguna mungkin mengalami latensi saat menambahkan atau memperbarui entri, baik melalui API pengelolaan maupun elemen PUT dalam kebijakan KeyValueMapOperations . Tingkat dampak performa umumnya sebanding dengan jumlah total entri yang disimpan dalam KVM terenkripsi.

Untuk mengurangi masalah ini, sebaiknya pengguna menghindari pembuatan KVM terenkripsi dengan jumlah entri yang berlebihan. Solusi yang layak adalah membagi KVM besar menjadi beberapa KVM yang lebih kecil. Selain itu, jika kasus penggunaan memungkinkan, migrasi ke KVM yang tidak dienkripsi juga dapat berfungsi sebagai strategi mitigasi yang efektif. Perhatikan bahwa Apigee mengetahui masalah ini dan berencana merilis perbaikan dalam patch mendatang.

Panggilan Java

Panggilan Java pelanggan yang mencoba memuat penyedia kriptografi Bouncy Castle menggunakan nama "BC" mungkin gagal karena penyedia default telah diubah menjadi Bouncy Castle FIPS untuk mendukung FIPS. Nama penyedia baru yang akan digunakan adalah "BCFIPS".

Edge untuk Private Cloud 4.53.00
Panggilan Java

Panggilan Java pelanggan yang mencoba memuat penyedia kriptografi Bouncy Castle menggunakan nama "BC" mungkin gagal karena penyedia default telah diubah menjadi Bouncy Castle FIPS untuk mendukung FIPS. Nama penyedia baru yang akan digunakan adalah "BCFIPS".

Update Mint Edge for Private Cloud 4.52.01

Masalah ini hanya memengaruhi pengguna yang menggunakan MINT atau telah mengaktifkan MINT di penginstalan Edge untuk Private Cloud.

Komponen yang terpengaruh: edge-message-processor

Masalah: Jika Anda mengaktifkan monetisasi dan menginstal 4.52.01 sebagai penginstalan baru atau mengupgrade dari versi Private Cloud sebelumnya, Anda akan mengalami masalah pada pemroses pesan. Jumlah thread terbuka akan meningkat secara bertahap sehingga menyebabkan kelelahan resource. Pengecualian berikut terlihat di edge-message-processor system.log:

Error injecting constructor, java.lang.OutOfMemoryError: unable to create new native thread
Kerentanan HTTP/2 Apigee

Kerentanan Denial-of-Service (DoS) baru-baru ini ditemukan di beberapa penerapan protokol HTTP/2 (CVE-2023-44487), termasuk di Apigee Edge untuk Private Cloud. Kerentanan ini dapat menyebabkan DoS pada fungsi pengelolaan API Apigee. Untuk mengetahui detail selengkapnya, lihat Buletin Keamanan Apigee GCP-2023-032.

Komponen router dan server pengelolaan Edge untuk Private Cloud diekspos ke internet dan berpotensi rentan. Meskipun HTTP/2 diaktifkan di port pengelolaan komponen khusus Edge lainnya dari Edge untuk Private Cloud, tidak ada satu pun komponen tersebut yang diekspos ke internet. Pada komponen non-Edge, seperti Cassandra, Zookeeper, dan lainnya, HTTP/2 tidak diaktifkan. Sebaiknya lakukan langkah-langkah berikut untuk mengatasi kerentanan Edge untuk Private Cloud:

Ikuti langkah-langkah berikut jika Anda menggunakan Edge Private Cloud versi 4.51.00.11 atau yang lebih baru:

  1. Perbarui server pengelolaan:

    1. Di setiap node server pengelolaan, buka /opt/apigee/customer/application/management-server.properties
    2. Tambahkan baris ini ke file properti:
      conf_webserver_http2.enabled=false
    3. Mulai ulang komponen server pengelolaan:
      apigee-service edge-management-server restart
  2. Perbarui pemroses pesan:

    1. Di setiap node pemroses pesan, buka /opt/apigee/customer/application/message-processor.properties
    2. Tambahkan baris ini ke file properti:
      conf_webserver_http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-message-processor restart
  3. Perbarui router:

    1. Di setiap node router, buka /opt/apigee/customer/application/router.properties
    2. Tambahkan baris ini ke file properti:
      conf_webserver_http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-router restart
  4. Perbarui QPID:

    1. Di setiap node QPID, buka /opt/apigee/customer/application/qpid-server.properties
    2. Tambahkan baris ini ke file properti:
      conf_webserver_http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-qpid-server restart
  5. Memperbarui Postgres:

    1. Di setiap node Postgres, buka /opt/apigee/customer/application/postgres-server.properties
    2. Tambahkan baris ini ke file properti:
      conf_webserver_http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-postgres-server restart

Ikuti langkah-langkah berikut jika Anda menggunakan Edge for Private Cloud versi yang lebih lama dari 4.51.00.11:

  1. Perbarui server pengelolaan:

    1. Di setiap node server pengelolaan, buka /opt/apigee/customer/application/management-server.properties
    2. Tambahkan dua baris berikut ke file properti:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Mulai ulang komponen server pengelolaan:
      apigee-service edge-management-server restart
  2. Perbarui pemroses pesan:

    1. Di setiap node pemroses pesan, buka /opt/apigee/customer/application/message-processor.properties
    2. Tambahkan dua baris berikut ke file properti:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-message-processor restart
  3. Perbarui router:

    1. Di setiap node router, buka /opt/apigee/customer/application/router.properties
    2. Tambahkan dua baris berikut ke file properti:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-router restart
  4. Perbarui QPID:

    1. Di setiap node QPID, buka /opt/apigee/customer/application/qpid-server.properties
    2. Tambahkan dua baris berikut ke file properti:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-qpid-server restart
  5. Memperbarui Postgres:

    1. Di setiap node Postgres, buka /opt/apigee/customer/application/postgres-server.properties
    2. Tambahkan dua baris berikut ke file properti:
      conf_webserver_http2.enabled=false
      conf/webserver.properties+http2.enabled=false
    3. Mulai ulang komponen pemroses pesan:
      apigee-service edge-postgres-server restart
Upgrade Postgresql saat mengupdate ke versi 4.52

Apigee-postgresql mengalami masalah saat mengupgrade dari Edge untuk Private Cloud versi 4.50 atau 4.51 ke versi 4.52. Masalah ini terutama terjadi jika jumlah tabel lebih dari 500.

Anda dapat memeriksa jumlah total tabel di Postgres dengan menjalankan kueri SQL di bawah:

select count(*) from information_schema.tables

Solusi: Saat Mengupdate Apigee Edge 4.50.00 atau 4.51.00 ke 4.52.00, pastikan untuk melakukan langkah pendahuluan sebelum mengupgrade Apigee-postgresql.

Kebijakan LDAP

149245401: Setelan kumpulan koneksi LDAP untuk JNDI yang dikonfigurasi melalui resource LDAP tidak tercermin, dan default JNDI menyebabkan koneksi sekali pakai setiap kali. Akibatnya, koneksi dibuka dan ditutup setiap kali untuk penggunaan tunggal, sehingga membuat sejumlah besar koneksi per jam ke server LDAP.

Solusi:

Untuk mengubah properti pool koneksi LDAP, lakukan langkah-langkah berikut untuk menetapkan perubahan global di semua kebijakan LDAP.

  1. Buat file properti konfigurasi jika belum ada:
    /opt/apigee/customer/application/message-processor.properties
  2. Tambahkan kode berikut ke file (ganti nilai properti Java Naming and Directory Interface (JNDI) berdasarkan persyaratan konfigurasi resource LDAP Anda).
    bin_setenv_ext_jvm_opts="-Dcom.sun.jndi.ldap.connect.pool.maxsize=20
    -Dcom.sun.jndi.ldap.connect.pool.prefsize=2
    -Dcom.sun.jndi.ldap.connect.pool.initsize=2
    -Dcom.sun.jndi.ldap.connect.pool.timeout=120000
    -Dcom.sun.jndi.ldap.connect.pool.protocol=ssl"
  3. Pastikan file /opt/apigee/customer/application/message-processor.properties dimiliki oleh apigee:apigee.
  4. Mulai ulang setiap pemroses pesan.

Untuk memverifikasi bahwa properti JNDI kumpulan koneksi Anda diterapkan, Anda dapat melakukan tcpdump untuk mengamati perilaku kumpulan koneksi LDAP dari waktu ke waktu.

Latensi Pemrosesan Permintaan Tinggi

139051927: Latensi pemrosesan proxy yang tinggi ditemukan di Message Processor memengaruhi semua Proxy API. Gejalanya mencakup penundaan 200-300 md dalam waktu pemrosesan dibandingkan waktu respons API normal dan dapat terjadi secara acak meskipun dengan TPS rendah. Hal ini dapat terjadi jika ada lebih dari 50 server target tempat pemroses pesan membuat koneksi.

Penyebab utama: Pemroses pesan menyimpan cache yang memetakan URL server target ke objek HTTPClient untuk koneksi keluar ke server target. Secara default, setelan ini ditetapkan ke 50 yang mungkin terlalu rendah untuk sebagian besar deployment. Jika deployment memiliki beberapa kombinasi org/env dalam penyiapan, dan memiliki sejumlah besar server target yang secara keseluruhan melebihi 50, URL server target akan terus dikeluarkan dari cache, sehingga menyebabkan latensi.

Validasi: Untuk menentukan apakah penghapusan URL server target menyebabkan masalah latensi, telusuri Message Processor system.logs untuk kata kunci "onEvict" atau "Eviction". Keberadaannya dalam log menunjukkan bahwa URL server target dikeluarkan dari cache HTTPClient karena ukuran cache terlalu kecil.

Solusi: Untuk Edge for Private Cloud versi 19.01 dan 19.06, Anda dapat mengedit dan mengonfigurasi cache HTTPClient, /opt/apigee/customer/application/message-processor.properties:

conf/http.properties+HTTPClient.dynamic.cache.elements.size=500

Kemudian, mulai ulang pemroses pesan. Lakukan perubahan yang sama untuk semua pemroses pesan.

Nilai 500 adalah contoh. Nilai optimal untuk penyiapan Anda harus lebih besar daripada jumlah server target yang akan dihubungkan oleh pemroses pesan. Tidak ada efek samping dari menyetel properti ini lebih tinggi, dan satu-satunya efeknya adalah peningkatan waktu pemrosesan permintaan proxy pemroses pesan.

Catatan: Edge untuk Private Cloud versi 50.00 memiliki setelan default 500.

Beberapa entri untuk peta nilai kunci

157933959: Penyisipan dan update serentak ke peta nilai kunci (KVM) yang sama yang dicakup ke tingkat organisasi atau lingkungan menyebabkan data tidak konsisten dan update hilang.

Catatan: Batas ini hanya berlaku untuk Edge for Private Cloud. Edge untuk Cloud Publik dan Hibrida tidak memiliki batasan ini.

Untuk solusi sementara di Edge untuk Private Cloud, buat KVM di cakupan apiproxy.