cancel
Showing results for 
Search instead for 
Did you mean: 

Losing all data when restarting app instance in BTP

tjongen
Explorer
0 Kudos
534

Hello SAP Community,

I've been trying to develop a Neptune based application in the SAP Business Technology Platform. To set it up, I followed the Neptune installation guide (uses Cloud Foundry to push application into platform): https://community.neptune-software.com/documentation/install-planet-9-on-s-c-p .

I am able to launch and access Neptune by starting an instance on the BTP, but once I stop the instance or restart, I lose everything I just did inside my Neptune application.

I have tried to re-install Neptune without success, tried going into the CF documentation, contacting Neptune Community, etc..

I feel like my instances are stored somewhere in the BTP or in CF and I need to start my application from that instance, though I don't know how to. (However, I watched a Youtube video where the person just restarted his app and it had everything he worked on so I'm really confused)

I would really appreciate any help, as I'm stuck. Thanks in advance!

Kind regards,

Tanguy Jongen

Accepted Solutions (1)

Accepted Solutions (1)

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert

Hi tjongen,

I have installed the application based on docker image the way it is described on the documentation.

By looking into its settings, the persistency database is based on SQLite by default. This type of database is not really a persistency store to be used on a Cloud Foundry environment because it is a very simple file-based store. Therefore, this setting defeats some of the rules for microservices, where no data can be stored on the application's filesystem. Even logs shouldn't be written onto it. Which means that SQLite is there only when you are testing the image locally (on your computer). On Cloud Foundry, whenever you start or spawn a new instance of your application, the system will copy the droplet (app image/files) and the buildpack (runtime) files into a diego cell in order to be able to start it. This means that when you store data on an application instance and you spawn a new instance of it, the new instance will not contain the same filesystem as the one where you have already configured before. Therefore it won't be able to read the same flat-file to retrieve any settings you've made before.

I suppose the way to go is to start an instance of HANA Cloud (on your trial account) and then create an HDI-SHARED instance to bind it to your Neptune application. This will allow your Neptune instance to make a connection to it (all data to connect to it will be available via a service key at the variable VCAP_SERVICES on your application). Be sure to restart the application after binding it to HANA Cloud.

Since I am not an expert on Neptune, I can't say exactly how to configure it properly to read the VCAP variables to automatically connect to your HANA instance. But you can check the following documentation:

https://community.neptune-software.com/documentation/how-to-set-up-planet-9-with-sap-hana-db

Best regards,
Ivan

tjongen
Explorer
0 Kudos

Hello Ivan,

Thanks so much for taking the time and explaining of the problem, I was struggling to identify the cause but it makes sense.

I'll what you suggested and let you know if it works out.

Best regards,

Tanguy Jongen

tjongen
Explorer
0 Kudos

Hello Ivan,

So i tried your suggestion to connect my Neptune instance to a Hana Cloud Database that I created.

However when trying to connect the two (screenshots) I get a strange error 'data type "character" in "session.id" is not supported by "sap"'.

I was wondering if you had an idea as to the cause of this problem, im pretty confident the information I entered is the correct data.

I've reported this to the Neptune community aswell.

tjongen
Explorer
0 Kudos

screenshot of Database running

Ivan-Mirisola
Product and Topic Expert
Product and Topic Expert

Hi tjongen,

I believe the message displayed on the WebUI is just the result of another error that happened internally in Neptune. I haven't seen any such messages before. But it is probably a specific error message written by Neptune itself.

Are there any other logs that the application has produced? Did you check the log traces in the cockpit? I find it useful to look at such logs by downloading and opening it on a text editor like nodepad++. Usually you see the other side of the execution. Also, on WebUIs, you can also inspect error messages that get thrown on the browser's console.

Also, one thing that may help is to set your HANA database to allow external access for all IP addresses. It make it easier to troubleshoot this type of issues. Once you are able to determine the incoming IP range, then you may better close which IPs are allowed to connect.

Best regards,
Ivan

tjongen
Explorer
0 Kudos

The logs are very limited in their explanation sadly.

I'll wait for a response from the Neptune support.

Thanks a lot for your reply

Kind regards,

Tanguy Jongen

Answers (0)