מוצג המסמך של Apigee Edge.
עוברים אל
מסמכי תיעוד של Apigee X. מידע
InvalidTimeout
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
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 מוגדר למספר שלילי, הפריסה של שרת ה-proxy ל-API תיכשל.
לדוגמה, אם הרכיב <CacheLookupTimeoutInSeconds>
הוא -1
, הפריסה של שרת ה-proxy ל-API תיכשל.
אבחון
מזהים את הערך הלא חוקי שצוין לרכיב
<CacheLookupTimeoutInSeconds>
במדיניות LookupCache. המידע הזה מופיע בהודעת השגיאה. לדוגמה, בשגיאה הבאה, הערך הלא חוקי שמשמש לרכיב<CacheLookupTimeoutInSeconds>
הוא-1
:CacheLookupTimeoutInSeconds -1 value should be greater than zero.
לבדוק את כל כללי המדיניות של LookupCache ב-Proxy הספציפי ל-API שבו התרחש הכשל. יכולה להיות מדיניות אחת או יותר של 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>
אם ה-
<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
הודעת שגיאה
כשפורסים את שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge management API, מופיעה הודעת השגיאה הבאה:
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>
מוגדר לשם שאינו קיים בסביבה שבה נפרס שרת ה-proxy ל-API.
אבחון
מזהים את המטמון הלא חוקי שנעשה בו שימוש ברכיב
<CacheResource>
של המדיניות LookupCache ואת הסביבה שבה התרחשה השגיאה. שני הפריטים האלה מופיעים בהודעת השגיאה. לדוגמה, בשגיאה הבאה, השם של המטמון הלא חוקי הואtokencache
ושם הסביבה הואtest
.Invalid cache resource reference tokencache in Step definition LookupCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
לבדוק את כל כללי המדיניות של LookupCache ב-Proxy הספציפי ל-API שבו התרחש הכשל. צריך לזהות את המדיניות הספציפית של 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>
בודקים אם המטמון (שזוהה בשלב 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>
נוצר בסביבה שבה רוצים לפרוס את שרת ה-proxy ל-API.
עיינו במאמר יצירה ועריכה של מטמון של סביבה למידע על יצירת המטמון.
CacheNotFound
הודעת שגיאה
במהלך פריסה של שרת ה-proxy ל-API דרך ממשק המשתמש של Edge או Edge Management API מוצגת הודעת שגיאה כזו, וסטטוס הפריסה של ה-proxy ל-API מסומן כפרוסה באופן חלקי:
Error: Cache : cache_resource, not found in organization : organization__environment.
הודעת שגיאה לדוגמה
Error Cache : configCache, not found in organization : kkalckstein-eval__test
סיבה
השגיאה הזו מתקבלת אם המטמון הספציפי שצוין בהודעת השגיאה לא נוצר ברכיב ספציפי של מעבד הודעות.
רזולוציה
אם אתם משתמשים בענן פרטי, עליכם לפעול לפי ההוראות הבאות:
מציגים את רשימת פריסות ה-proxy ל-API וקובעים באילו מעבדי הודעות מופיעה השגיאה
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" ...
שימו לב למזהי UUID של מעבד ההודעות שבהם מופיעה השגיאה
steps.cache.CacheNotFound
. מזהים את שם המארח/כתובת ה-IP של מעבד ההודעות שמשויך ל-UUID.מתחברים למעבד ההודעות הספציפי ומפעילים אותו מחדש באמצעות הפקודה הבאה:
apigee-service edge-message-processor restart
אם אתם משתמשים ב-Public Cloud או אם הבעיה נמשכת בשביל ענן פרטי, אתם יכולים לפנות לתמיכה של Apigee לקבלת עזרה.