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

आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं.
info

पर क्लिक करें.

InvalidTimeout

गड़बड़ी का मैसेज

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.

गड़बड़ी के स्क्रीनशॉट का उदाहरण

वजह

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

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

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

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

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

    उदाहरण के लिए, यहां दिए गए नीति कॉन्फ़िगरेशन में, -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> एलिमेंट की वैल्यू हमेशा एक नॉन-नेगेटिव पूर्णांक के तौर पर दी गई हो.

ऊपर दिखाई गई 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 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> एलिमेंट को ऐसे नाम पर सेट किया जाता है जो उस एनवायरमेंट में मौजूद नहीं है जहां एपीआई प्रॉक्सी को डिप्लॉय किया जा रहा है.

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

  1. LookupCache नीति के <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> एलिमेंट में अमान्य कैश मेमोरी (पहले चरण में पहचान की गई) के बारे में बताया गया है.

    उदाहरण के लिए, यहां दी गई नीति में <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. पुष्टि करें कि पहले चरण में तय की गई कैश मेमोरी को, पहले चरण में पहचाने गए खास एनवायरमेंट में तय किया गया है या नहीं.

    Edge यूज़र इंटरफ़ेस (यूआई) में, ADMIN > Environment > test पर जाएं. इसके बाद, देखें कि Environment Configuration के Caches टैब में कैश मेमोरी मौजूद है या नहीं. अगर कैश मेमोरी मौजूद नहीं है, तो गड़बड़ी की वजह यही है.

    उदाहरण के लिए, नीचे दिए गए स्क्रीनशॉट में देखें कि tokencache नाम की कैश मेमोरी मौजूद नहीं है.

    test एनवायरमेंट में tokencache नाम की कैश मेमोरी तय नहीं की गई है. इसलिए, आपको यह गड़बड़ी दिखेगी:

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

रिज़ॉल्यूशन

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

कैश बनाने के तरीके के बारे में जानने के लिए, एनवायरमेंट कैश बनाना और उसमें बदलाव करना लेख पढ़ें.

CacheNotFound

गड़बड़ी का मैसेज

Edge के यूज़र इंटरफ़ेस (यूआई) या Edge Management API के ज़रिए एपीआई प्रॉक्सी को डिप्लॉय करने पर, इस तरह का गड़बड़ी का मैसेज दिखता है. साथ ही, एपीआई प्रॉक्सी के डिप्लॉयमेंट की स्थिति को 'आंशिक रूप से डिप्लॉय किया गया' के तौर पर मार्क किया जाता है:

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

गड़बड़ी के मैसेज का उदाहरण

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

वजह

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

रिज़ॉल्यूशन

अगर आप Private Cloud के उपयोगकर्ता हैं, तो कृपया यहां दिया गया तरीका अपनाएं:

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

  3. किसी मैसेज प्रोसेसर में लॉग इन करें और यहां दिए गए निर्देश का इस्तेमाल करके उसे फिर से चालू करें:

    apigee-service edge-message-processor restart

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