تحديد المشاكل وحلّها في ما يتعلّق بنشر سياسة "ذاكرة التخزين المؤقت"

يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات Apigee X.
المعلومات

InvalidTimeout

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Saving Revision revision_number
CacheLookupTimeoutInSeconds value value should be greater than zero.

مثال على رسالة الخطأ

Error Saving Revision 2
CacheLookupTimeoutInSeconds -1 value should be greater than zero.

لقطة شاشة لمثال على الخطأ

السبب

في حال ضبط العنصر <CacheLookupTimeoutInSeconds> في سياسة LookupCache على رقم سالب، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

على سبيل المثال، إذا كان العنصر <CacheLookupTimeoutInSeconds> هو -1، سيتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدِّد القيمة غير الصالحة المحدّدة للعنصر <CacheLookupTimeoutInSeconds> في سياسة LookupCache. يمكنك العثور على هذه المعلومات في رسالة الخطأ. في الخطأ التالي مثلاً، القيمة غير الصالحة المستخدَمة للعنصر <CacheLookupTimeoutInSeconds> هي -1:

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. افحص جميع سياسات LookupCache في الخادم الوكيل لواجهة برمجة التطبيقات المحدَّد الذي حدث به الخطأ. قد تكون هناك سياسة LookupCache واحدة أو أكثر تم تحديد العنصر <CacheLookupTimeoutInSeconds> فيها. حدِّد سياسة LookUpCache حيث يتم تحديد القيمة غير الصالحة (المحدّدة في الخطوة رقم 1 أعلاه) للعنصر <CacheLookupTimeoutInSeconds>.

    على سبيل المثال، تحدِّد إعدادات السياسة التالية قيمة <CacheLookupTimeoutInSeconds> لـ -1، والتي تتطابق مع رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
        <DisplayName>LookupCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheLookupTimeoutInSeconds>-1</CacheLookupTimeoutInSeconds>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <AssignTo>usertoken</AssignTo>
    </LookupCache>
    
  3. إذا تم تحديد <CacheLookupTimeoutInSeconds> كعدد صحيح سالب، يكون ذلك هو سبب الخطأ.

درجة الدقّة

تأكَّد من أنّ قيمة العنصر <CacheLookupTimeoutInSeconds> في سياسة LookupCache يتم تحديدها دائمًا كعدد صحيح غير سالب.

لتصحيح مثال سياسة LookupCache الوارد أعلاه، يمكنك تعديل العنصر <CacheLookupTimeoutInSeconds> ليصبح 30.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
    <DisplayName>LookupCache-Token</DisplayName>
    <Properties/>
    <CacheKey>
        <Prefix/>
        <KeyFragment ref="request.queryparam.client_id"/>
    </CacheKey>
    <CacheResource>tokencache</CacheResource>
    <CacheLookupTimeoutInSeconds>30</CacheLookupTimeoutInSeconds>
    <Scope>Exclusive</Scope>
    <ExpirySettings>
        <TimeoutInSec>3600</TimeoutInSec>
    </ExpirySettings>
    <AssignTo>usertoken</AssignTo>
</LookupCache>

InvalidCacheResourceReference

رسالة الخطأ

يتعذّر نشر الخادم الوكيل لواجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge مع ظهور رسالة الخطأ التالية:

Error Deploying Revision revision_number to environment
Invalid cache resource reference [cache_resource] in Step definition [populate_cache_policy_name]. Context Revision:[revision_number];APIProxy:ResponseCache;Organization:[organization];Environment:[environment]

مثال على رسالة الخطأ

Error Deploying Revision 2 to test
Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test

لقطة شاشة لمثال على الخطأ

السبب

يحدث هذا الخطأ إذا تم ضبط العنصر <CacheResource> على اسم غير متوفّر في البيئة التي يتم فيها نشر الخادم الوكيل لواجهة برمجة التطبيقات.

التشخيص

  1. حدِّد ذاكرة التخزين المؤقت غير الصالحة المستخدَمة في العنصر <CacheResource> ضمن سياسة LookupCache والبيئة التي حدث فيها الخطأ. يمكنك العثور على هذين العنصرَين في رسالة الخطأ. على سبيل المثال، في الخطأ التالي، يكون اسم ذاكرة التخزين المؤقت غير الصالحة tokencache واسم البيئة test.

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. افحص جميع سياسات LookupCache في الخادم الوكيل لواجهة برمجة التطبيقات المحدَّد الذي حدث به الخطأ. حدِّد سياسة LookupCache المحدَّدة التي يتم فيها تحديد ذاكرة التخزين المؤقت غير الصالحة (المحدَّدة في الخطوة رقم 1) في العنصر <CacheResource>.

    على سبيل المثال، تحدِّد السياسة التالية قيمة <CacheResource> باعتبارها tokencache، ما يطابق رسالة الخطأ:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <LookupCache async="false" continueOnError="false" enabled="true" name="LookupCache-Token">
        <DisplayName>LookupCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <CacheLookupTimeoutInSeconds/>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <AssignTo>usertoken</AssignTo>
    </LookupCache>
    
  3. تحقق مما إذا كانت ذاكرة التخزين المؤقت (محددة في الخطوة رقم 1) قد تم تعريفها في بيئة معينة (تم تحديدها في الخطوة رقم 1).

    في واجهة مستخدم Edge، انتقل إلى المشرف > البيئة > اختبار وتحقق من وجود ذاكرة التخزين المؤقت في علامة التبويب ذاكرات التخزين المؤقت في تهيئة البيئة. إذا لم تكن ذاكرة التخزين المؤقت موجودة، يكون هذا هو سبب الخطأ.

    على سبيل المثال، لاحظ في لقطة الشاشة أدناه عدم وجود ذاكرة التخزين المؤقت المسماة tokencache.

    بما أنّ ذاكرة التخزين المؤقت المسماة tokencache لم يتم تحديدها في بيئة test، ستظهر لك رسالة الخطأ:

    Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
    

درجة الدقّة

تأكَّد من إنشاء اسم ذاكرة التخزين المؤقت المحدّد في العنصر <CacheResource> في البيئة التي تريد نشر الخادم الوكيل لواجهة برمجة التطبيقات فيها.

راجع إنشاء ذاكرة تخزين مؤقت للبيئة وتعديلها للحصول على معلومات حول كيفية إنشاء ذاكرة التخزين المؤقت.

CacheNotFound

رسالة الخطأ

يؤدي نشر خادم وكيل واجهة برمجة التطبيقات من خلال واجهة مستخدم Edge أو واجهة برمجة تطبيقات إدارة Edge إلى ظهور رسالة خطأ مثل هذه، ويتم وضع علامة على حالة نشر الخادم الوكيل لواجهة برمجة التطبيقات على أنها منشورة جزئيًا:

Error: Cache : cache_resource, not found in organization : organization__environment.

مثال على رسالة الخطأ

Error Cache : configCache, not found in organization : kkalckstein-eval__test

السبب

يحدث هذا الخطأ إذا لم يتم إنشاء ذاكرة التخزين المؤقت المحددة المذكورة في رسالة الخطأ على مكون محدد لمعالجة الرسائل.

درجة الدقّة

إذا كنت أحد مستخدمي السحابة الإلكترونية الخاصة، يُرجى اتّباع التعليمات التالية:

  1. أدرِج عمليات نشر الخادم الوكيل لواجهة برمجة التطبيقات وحدِّد معالِجات الرسائل التي تتضمن الخطأ steps.cache.CacheNotFound.

    curl -u $USERID:$USERPASSWORD http://:8080/v1/organizations//environments//apis//revisions//deployments

    المخرجات النموذجية

    {
      "aPIProxy" : "TestCache",
      "environment" : [ {
        "configuration" : {
          "basePath" : "/",
          "configVersion" : "SHA-512:45d3f39783414d3859bf2dec4135d8f5f9960ee6b2d361db2799c82693a8e3f8b95dbbb37c547eb3c0a3819d8ca51727f390502bcaefdf1f113263521a9023b6",
          "steps" : [ ]
        },
        "name" : "prod",
        "server" : [ {
          "pod" : {
            "name" : "pod1",
            "region" : "us-central1"
          },
          "status" : "deployed",
          "type" : [ "message-processor" ],
          "uUID" : "f2e5e34a-5630-43a9-8fef-48a5b9da76d1"
        }, {
          "pod" : {
            "name" : "pod1",
            "region" : "us-central1"
          },
          "status" : "deployed",
          "type" : [ "message-processor" ],
          "uUID" : "879a6538-a5e0-4503-b142-9cb2b4e0623d"
        }, {
        "error" : "Cache : configCache, not found in organization : kkalckstein-eval__test",
        "errorCode" : "steps.cache.CacheNotFound",
        "status" : "error",
        "type" : [ "message-processor" ],
         "uUID" : "a8f9ce0b-c32d-48a9-b26c-9c75d8bf467d"
    },
    ...
        "state" : "deployed"
      } ],
      "name" : "2",
      "organization" : "kkalckstein-eval"
      ...
    
  2. يُرجى ملاحظة أرقام التعريف الفريدة العالمية(UUID) لمعالج الرسائل التي تلاحظ فيها الخطأ steps.cache.CacheNotFound. يمكنك تحديد اسم المضيف/عنوان IP لمعالج الرسائل المرتبط بـ UUID.

  3. سجّل الدخول إلى معالج الرسائل المحدد وأعد تشغيله باستخدام الأمر التالي:

    apigee-service edge-message-processor restart

إذا كنت من مستخدمي Public Cloud أو إذا استمرت المشكلة في Private Cloud، يُرجى التواصل مع فريق دعم Apigee للحصول على المساعدة.