Skip to Content

SAP Cloud SDK Version memory requirements and CF Deployment error

I recently increased my cloud SDK versions to the latest:

"@sap-cloud-sdk/core": "1.25.0",
"@sap/cloud-sdk-vdm-outbound-delivery-v2-service": "1.19.2",
"@sap/cloud-sdk-vdm-warehouse-outbound-delivery-order-service": "1.19.2",

I am now seeing a memory related error in my srv package.json file:

Cannot read config file: 
/home/vcap/app/di_ws_root/cloudship/srv/node_modules/@sap-cloud-sdk/core/package.json 
Error: Cannot read config file: /home/vcap/app/di_ws_root/cloudship/srv/node_modules/@sap-cloud-sdk/core/package.json 
Error: ENOMEM: not enough memory, read [ESLINT: ()] 

My nodejs module originally ran on 1012M memory and 1012M disk-space. What type of memory requirements does the new version require?

Additionally, my Cloud Foundry deployments now fail. I am unsure if this is purely a memory issue but the only npm modules I changed since last successful deployment were SAP SDK.

The CF deployment error logs call reference `TypeError: Class extends value undefined is not a function or null` with reference to npm module https-proxy-agent. Given https-proxy-agent is a widely used module, i imagine the issue is not within the npm module but maybe how the SDK is importing it.

I am still a relatively new nodejs developer so please give me your educated opinon on what's going on here.

https://stackoverflow.com/questions/43176006/typeerror-class-extends-value-undefined-is-not-a-function-or-null

https://www.npmjs.com/package/https-proxy-agent

#2.0#2020 08 04 10:09:28.539#Z#DEBUG#com.sap.cloud.lm.sl.xs2.9a370141-d638-11ea-a144-eeee0a8ebcf0.cloudship-srv.startAppTask#
######com.sap.cloud.lm.sl.cf.persistence.services.ProcessLogger########flowable-async-job-executor-thread-42544###
[PollStartAppStatusExecution] [cloudship-srv] be68b0c6-7a58-45b5-a4ee-28872dd62969 [Tue Aug 04 10:09:26 UTC 2020] {"error":{},"level":"error","message":"uncaughtException: Class extends value undefined is not a constructor or null\nTypeError: Class extends value undefined is not a constructor or null\n    at Object.<anonymous> (/home/vcap/app/node_modules/https-proxy-agent/dist/agent.js:37:44)\n    at Module._compile (internal/modules/cjs/loader.js:1156:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)\n    at Module.load (internal/modules/cjs/loader.js:1000:32)\n    at Function.Module._load (internal/modules/cjs/loader.js:899:14)\n    at Module.require (internal/modules/cjs/loader.js:1042:19)\n    at require (internal/modules/cjs/helpers.js:77:18)\n    at Object.<anonymous> (/home/vcap/app/node_modules/https-proxy-agent/dist/index.js:5:33)\n    at Module._compile (internal/modules/cjs/loader.js:1156:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)","stack":"TypeError: Class extends value undefined is not a constructor or null\n    at Object.<anonymous> (/home/vcap/app/node_modules/https-proxy-agent/dist/agent.js:37:44)\n    at Module._compile (internal/modules/cjs/loader.js:1156:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)\n    at Module.load (internal/modules/cjs/loader.js:1000:32)\n    at Function.Module._load (internal/modules/cjs/loader.js:899:14)\n    at Module.require (internal/modules/cjs/loader.js:1042:19)\n    at require (internal/modules/cjs/helpers.js:77:18)\n    at Object.<anonymous> (/home/vcap/app/node_modules/https-proxy-agent/dist/index.js:5:33)\n    at Module._compile (internal/modules/cjs/loader.js:1156:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)","exception":true,"date":"Tue Aug 04 2020 10:09:26 GMT+0000 (Coordinated Universal Time)","process":{"pid":62,"uid":2000,"gid":2000,"cwd":"/home/vcap/app","execPath":"/home/vcap/deps/0/node/bin/node","version":"v12.16.2","argv":["/home/vcap/deps/0/node/bin/node","/home/vcap/app/server.js"],"memoryUsage":{"rss":81473536,"heapTotal":41730048,"heapUsed":25086680,"external":1331112}},"os":{"loadavg":[2.48779296875,1.9306640625,1.58984375],"uptime":381982},"trace":[{"column":44,"file":"/home/vcap/app/node_modules/https-proxy-agent/dist/agent.js","function":null,"line":37,"method":null,"native":false},{"column":30,"file":"internal/modules/cjs/loader.js","function":"Module._compile","line":1156,"method":"_compile","native":false},{"column":10,"file":"internal/modules/cjs/loader.js","function":"Module._extensions..js","line":1176,"method":".js","native":false},{"column":32,"file":"internal/modules/cjs/loader.js","function":"Module.load","line":1000,"method":"load","native":false},{"column":14,"file":"internal/modules/cjs/loader.js","function":"Module._load","line":899,"method":"_load","native":false},{"column":19,"file":"internal/modules/cjs/loader.js","function":"Module.require","line":1042,"method":"require","native":false},{"column":18,"file":"internal/modules/cjs/helpers.js","function":"require","line":77,"method":null,"native":false},{"column":33,"file":"/home/vcap/app/node_modules/https-proxy-agent/dist/index.js","function":null,"line":5,"method":null,"native":false},{"column":30,"file":"internal/modules/cjs/loader.js","function":"Module._compile","line":1156,"method":"_compile","native":false},{"column":10,"file":"internal/modules/cjs/loader.js","function":"Module._extensions..js","line":1176,"method":".js","native":false}],"logger":"sap-cloud-sdk-logger","test":"exception","timestamp":"2020-08-04T10:09:26.104Z","msg":"uncaughtException: Class extends value undefined is not a constructor or null\nTypeError: Class extends value undefined is not a constructor or null\n    at Object.<anonymous> (/home/vcap/app/node_modules/https-proxy-agent/dist/agent.js:37:44)\n    at Module._compile (internal/modules/cjs/loader.js:1156:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)\n    at Module.load (internal/modules/cjs/loader.js:1000:32)\n    at Function.Module._load (internal/modules/cjs/loader.js:899:14)\n    at Module.require (internal/modules/cjs/loader.js:1042:19)\n    at require (internal/modules/cjs/helpers.js:77:18)\n    at Object.<anonymous> (/home/vcap/app/node_modules/https-proxy-agent/dist/index.js:5:33)\n    at Module._compile (internal/modules/cjs/loader.js:1156:30)\n    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10)","written_ts":1596535766104,"written_at":"2020-08-04T10:09:26.104Z"} (STDOUT, APP/PROC/WEB)#
Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

2 Answers

  • Posted on Aug 04, 2020 at 12:02 PM

    SDK'ers,

    I reverted my SAP SDK dependencies to previous versions, re-deployed to Cloud Foundry successfully.

    "@sap/cloud-sdk-core": "^1.3.0",
    "@sap/cloud-sdk-vdm-outbound-delivery-service": "^1.3.0",
    "@sap/cloud-sdk-vdm-outbound-delivery-v2-service": "1.18.0",
    
    

    How Do i determine which new version / combination of versions are stable enough to include in my CF deployments and when/if there are increased memory requirements to run the newer version of SDK?

    Add a comment
    10|10000 characters needed characters exceeded

    • Hey Austin,

      we aim to be backwards compatible throughout minor versions. If this is not working due to version incompatibility, then this is not intended. The latest versions should be compatible with each other. I recommend to use the latest versions of the services and especially use the Open Source version (@sap-cloud-sdk/core) of the core. We found that we introduced a bug in version 1.25.0. Maybe you can try version 1.24.1.

      We will investigate where your TypeError might originate from. Maybe this also resolves the out of memory problem.

  • Posted on Aug 06, 2020 at 11:08 AM

    Marika Marszalkowski

    The error logs above are referencing sap-cloud-sdk-logger, does this help you have an idea how we can correct the CF deployment error? My client is pushing for an on-time S/4 Hana Cloud go live and I'm currently unable to deploy updates to UAT environment.

    Add a comment
    10|10000 characters needed characters exceeded

    • Austin Kloske ,

      the sap-cloud-sdk-logger is just a convenient logger tool for you to e.g., change your log level, change the log format for local machine or kibana dashboard. However, we have no access to the log, but the application developer or the end user.

      As Marika Marszalkowski mentioned, the version1.25.0 introduced a bug, which might be the root cause.

      Could you please try our latest version "1.26.1", where we fixed the known issue?

      Please let me know, whether it helps.

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.