लुकअप कैश नीति के डिप्लॉयमेंट से जुड़ी गड़बड़ी की समस्या हल करना

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.

गड़बड़ी का उदाहरण

वजह

अगर lookupकैश नीति का <CacheLookupTimeoutInSeconds> एलिमेंट नेगेटिव नंबर पर सेट किया गया है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

उदाहरण के लिए, अगर <CacheLookupTimeoutInSeconds> एलिमेंट -1 है, तो एपीआई प्रॉक्सी को डिप्लॉय नहीं किया जा सकता.

संक्रमण की जांच

  1. lookupcache नीति में <CacheLookupTimeoutInSeconds> एलिमेंट के लिए दी गई अमान्य वैल्यू की पहचान करें. आपको यह जानकारी गड़बड़ी के मैसेज में मिल सकती है. उदाहरण के लिए, यहां दी गई गड़बड़ी में <CacheLookupTimeoutInSeconds> एलिमेंट के लिए इस्तेमाल की गई अमान्य वैल्यू -1 है:

    CacheLookupTimeoutInSeconds -1 value should be greater than zero.
    
  2. जिस खास एपीआई प्रॉक्सी में गड़बड़ी हुई है उसमें सभी lookupcache नीतियों की जांच करें. एक या एक से ज़्यादा lookupकैश से जुड़ी नीतियां हो सकती हैं, जिनमें <CacheLookupTimeoutInSeconds> एलिमेंट के बारे में बताया गया हो. उस LookUp cache नीति की पहचान करें जिसमें <CacheLookupTimeoutInSeconds> एलिमेंट के लिए अमान्य वैल्यू (जिसकी पहचान ऊपर चरण #1 में की गई है) दी गई है.

    उदाहरण के लिए, नीचे दिया गया नीति कॉन्फ़िगरेशन -1 की <CacheLookupTimeoutInSeconds> की वैल्यू बताता है, जो गड़बड़ी के मैसेज से मेल खाती है:

    <?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> को नेगेटिव पूर्णांक के तौर पर बताया गया है, तो इस गड़बड़ी की वजह से ही गड़बड़ी हुई है.

रिज़ॉल्यूशन

पक्का करें कि lookupcache नीति के <CacheLookupTimeoutInSeconds> एलिमेंट के लिए हमेशा एक गैर-ऋणात्मक पूर्णांक के रूप में बताया गया हो.

ऊपर दिखाई गई lookupकैश नीति के उदाहरण को ठीक करने के लिए, <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. lookupकैश नीति के <CacheResource> एलिमेंट में इस्तेमाल की गई अमान्य कैश मेमोरी की पहचान करें. साथ ही, उस एनवायरमेंट की पहचान करें जिसमें गड़बड़ी हुई है. आपको ये दोनों आइटम, गड़बड़ी के मैसेज में मिल सकते हैं. उदाहरण के लिए, यहां दी गई गड़बड़ी में, अमान्य कैश मेमोरी का नाम 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 नीति की पहचान करें जहां <CacheResource> एलिमेंट में अमान्य कैश (चरण #1 में पहचानी गई) के बारे में बताया गया है.

    उदाहरण के लिए, यह नीति <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

वजह

यह गड़बड़ी तब होती है, जब गड़बड़ी के मैसेज में बताए गए कैश को किसी खास Message प्रोसेसर कॉम्पोनेंट पर न बनाया गया हो.

रिज़ॉल्यूशन

अगर आप प्राइवेट क्लाउड के उपयोगकर्ता हैं, तो कृपया नीचे दिए गए निर्देशों का पालन करें:

  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 दिखती है. UUID से जुड़े मैसेज प्रोसेसर के होस्ट नेम/आईपी पते की पहचान करें.

  3. उस खास Message प्रोसेसर में लॉग इन करें और नीचे दिए गए निर्देश का इस्तेमाल करके उसे रीस्टार्ट करें:

    apigee-service edge-message-processor restart

अगर आप पब्लिक क्लाउड के उपयोगकर्ता हैं या प्राइवेट क्लाउड में समस्या बनी रहती है, तो मदद के लिए Apigee की सहायता टीम से संपर्क करें.