कैश नीति के डिप्लॉयमेंट में हुई गड़बड़ी की समस्या को हल करने के लिए, अपने-आप जानकारी भरने की सुविधा

Apigee Edge का दस्तावेज़ देखा जा रहा है.
Go to the Apigee X documentation.
info

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:[apiproxy_name];Organization:[organization];Environment:[environment]

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

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

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

वजह

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

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

  1. PopulateCache नीति का नाम, नीति के <CacheResource> एलिमेंट में इस्तेमाल किया गया अमान्य कैश, और वह एनवायरमेंट जिसमें गड़बड़ी हुई है, इनकी पहचान करें. ये सभी चीज़ें, गड़बड़ी के मैसेज में देखी जा सकती हैं. उदाहरण के लिए, यहां दी गई गड़बड़ी में, PopulateCache नीति का नाम PopulateCache-Token है. अमान्य कैश का नाम tokencache है और एनवायरमेंट का नाम test है.

    Invalid cache resource reference tokencache in Step definition PopulateCache-Token. Context Revision:2;APIProxy:TestCache;Organization:kkalckstein-eval;Environment:test
    
  2. PopulateCache नीति के उस XML की जांच करें जो डिप्लॉय नहीं हो पाई. साथ ही, यह पुष्टि करें कि <CacheResource> एलिमेंट के लिए तय किया गया कैश का नाम, गड़बड़ी के मैसेज से मेल खाता है या नहीं.

    इस उदाहरण में, <CacheResource> एलिमेंट में तय किया गया कैश का नाम tokencache है:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <PopulateCache async="false" continueOnError="false" enabled="true" name="PopulateCache-Token">
        <DisplayName>PopulateCache-Token</DisplayName>
        <Properties/>
        <CacheKey>
            <Prefix/>
            <KeyFragment ref="request.queryparam.client_id"/>
        </CacheKey>
        <CacheResource>tokencache</CacheResource>
        <Scope>Exclusive</Scope>
        <ExpirySettings>
            <TimeoutInSec>3600</TimeoutInSec>
        </ExpirySettings>
        <Source>token</Source>
    </PopulateCache>
    
  3. यह पुष्टि करें कि कैश (पहले चरण में तय किया गया) को, उस एनवायरमेंट में तय किया गया है या नहीं जिसकी पहचान पहले चरण में की गई थी.

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

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

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

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

रिज़ॉल्यूशन

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

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

CacheNotFound

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

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

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

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

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

वजह

यह गड़बड़ी तब होती है, जब गड़बड़ी के मैसेज में बताया गया कैश, किसी खास मैसेज प्रोसेसर कॉम्पोनेंट पर नहीं बनाया गया होता. मैसेज प्रोसेसर, Edge का एक इंटरनल कॉम्पोनेंट है. यह Apigee Edge के ज़रिए, एपीआई ट्रैफ़िक के फ़्लो को प्रोसेस करता है.

रिज़ॉल्यूशन

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

  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

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