We use proprietary and third party´s cookies to improve your experience and our services, identifying your Internet Browsing preferences on our website; develop analytic activities and display advertising based on your preferences. If you keep browsing, you accept its use. You can get more information on our Cookie Policy
Cookies Policy
Ask Your Question
0

FIWARE QuantumLeap Sanity Check failed: QuantumLeap can't get changed data from Orion

asked 2020-05-05 08:32:14 +0200

yanpengwuiot gravatar image

I checked quantumLeap Sanity Check in both virtualMachine(virtualBox with Ubuntu) and production server(CentOS). With the same docker-compose.yml, the sanity check is sucessfully on virtualManchine, but failed on Production server, it's really strange, could anyone can help me? Thank you very much.

The steps of sanity check is followed as https://quantumleap.readthedocs.io/en..., I pasted below.

The difference of results is only at step 7. On virtualMachine, I can get the updated data from quantumLeap:

{
  "attrName": "precipitation",
  "entityId": "air_quality_observer_be_001",
  "index": [
        "2020-05-03T11:18:14.000",
        "2020-05-03T11:18:55.000"
  ],
  "values": [
        0.0,
        100.0
  ]
}

But on production server, the result is:

{
  "description": "No records were found for such query.",
  "error": "Not Found"
}

Note:

  1. These commands in the sanity check steps are copied to terminal, so there will be no typos.

  2. the difference of result is only at step 7. I deleted the old images on both virtualMachine and production server to let the latested images are pulled.

  3. There was a fiware-base system(orion,mongoDB,IoTAgents,quantumLeap,CrateDB,Grafana) runing on production server and everything was fine. But one week ago, the hard disk on the server was full and exhausted, and all containers are down. I cleaned some huge log files and free some space, then I bring up the fiware-base system and found that there is no data shown on Grafana. After checked, I found the reason is QuantumLeap did not store data into crateDB, but I'm not sure the root cause is orion or quantumLeap. So I decide to do the sanity check as the quantumLeap documents suggested. That's the story.

  4. BTW, the subscription of quantumLeap can be get from orion, but I can't get the changed data from quantumLeap. Why the newest changed data is not synchronized to quantumLeap?

Sanity check steps:

  1. Check Orion version

    curl -X GET http://0.0.0.0:1026/version -H 'Accept: application/json'
    
  2. Check QuantumLeap version

    curl -X GET http://0.0.0.0:8668/version -H 'Accept: application/json'
    
  3. Create an Orion Subscription for "QuantumLeap"

    curl -X POST \
    'http://0.0.0.0:8668/v2/subscribe?orionUrl=http://orion:1026/v2&quantumleapUrl=http://quantumleap:8668/v2&entityType=AirQualityObserved' \
    -H 'Accept: application/json'
    
  4. Check you cat get such subscription from Orion

    curl -X GET http://0.0.0.0:1026/v2/subscriptions \
    -H 'Accept: application/json'
    
  5. Insert an entity of AirQualityObserved into Orion

    curl -X POST \
    'http://0.0.0.0:1026/v2/entities?options=keyValues' \
    -H 'Accept: application/json' \
    -H 'Content-Type: application/json' \
    -d '{
        "id": "air_quality_observer_be_001",
        "type": "AirQualityObserved",
        "address": {
            "streetAddress": "IJzerlaan",
            "postOfficeBoxNumber": "18",
            "addressLocality": "Antwerpen",
            "addressCountry": "BE"
        },
        "dateObserved": "2017-11-03T12:37:23.734827",
        "source": "http://testing.data.from.smartsdk",
        "precipitation": 0,
        "relativeHumidity": 0.54,
        "temperature": 12.2,
        "windDirection": 186,
        "windSpeed": 0.64,
        "airQualityLevel": "moderate",
        "airQualityIndex": 65,
        "reliability": 0.7,
        "CO": 500,
        "NO": 45,
        "NO2": 69,
        "NOx": 139,
        "SO2": 11,
        "CO_Level": "moderate",
        "refPointOfInterest": "null"
    }'
    
  6. Update the precipitation value of the same entity in Orion.

    curl -X PATCH \
    http://0.0.0.0:1026/v2/entities ...
(more)
edit retag flag offensive close merge delete

1 answer

Sort by » oldest newest most voted
0

answered 2020-05-09 17:03:38 +0200

yanpengwuiot gravatar image

Solved. The root cause is at crateDB. When the hard disk exausted, the crateDB is down and every table are set with readonly. The read-only blocks are not automatically removed from the tables even after the disk space is freed and the threshold is undershot.

Everything is OK after I set the readonly flag to false with the following command in crateDB:

SHOW CREATE TABLE <tableName>;
ALTER TABLE <tableName> SET ("blocks.read_only_allow_delete" = FALSE);

More details are described at: https://stackoverflow.com/questions/6...

edit flag offensive delete link more
Login/Signup to Answer

Question Tools

1 follower

Stats

Asked: 2020-05-04 15:58:36 +0200

Seen: 29 times

Last updated: May 09