orientechnologies / orientdb

OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.
https://orientdb.dev
Apache License 2.0
4.74k stars 871 forks source link

negative RecordID for version 2.1.12 (Urgent) #5889

Closed martingg88 closed 8 years ago

martingg88 commented 8 years ago

I do have following error when try to insert data in batch.

Error: com.orientechnologies.orient.core.index.OIndexException: Error during insertion of key in index

Error: com.orientechnologies.orient.core.exception.ODatabaseException: RecordId cannot support negative cluster id. You've used: -4812


BEGIN
 LET hotel = INSERT INTO hotel SET name = "Agriturismo Sur��", category = "hotel", check_in = "2pm", check_out = "12pm", currency = "EUR", highest_rate = 80, lowest_rate = 70, rating = "0.0", source = 13870, website = "http://www.booking.com/hotel/it/agriturismo-suri.html", active = true, description = "This charming family-run farm-house, located in S.Andrea di Cassine, offers a welcoming hospitality in the quiet atmosphere of the vineyards of Barbera di Monferrato.", amenity = {"property":[],"room":[]}, policy = null, payment = null, creator = #16:5, price = 70, ctime = "2016-03-27T05:56:34+0000", mtime = "2016-03-27T05:56:34+0000"
 LET place = INSERT INTO place cluster place_business SET city = "S.Andrea Di Cassine", state = null, country = "it", lat = "44.721930", lng = "8.501440", postal_code = "15016", address = "15016 S.Andrea Di Cassine, Italy", types = ["point_of_interest","accommodation","hotel"], creator = #16:5, address_components = [], photos = [], ctime = "2016-03-27T05:56:34+0000", mtime = "2016-03-27T05:56:34+0000", country_name = "Italy", locality = "S.Andrea Di Cassine, Italy"
 LET list = CREATE EDGE list FROM #16:5 TO $hotel
 LET locate = CREATE EDGE locate FROM $hotel TO $place
 LET media_profile_0 = INSERT INTO media SET title = "", url = "http://aff.bstatic.com/images/hotel/max500/488/48855584.jpg", primary = true, config = "profile", channel = "hotel", type = "image", provider = "booking", creator = #16:5, size = 0, ctime = "2016-03-27T05:56:34+0000", mtime = "2016-03-27T05:56:34+0000"
 LET upload_profile_0 = CREATE EDGE upload FROM $hotel TO $media_profile_0
 LET media_thumbnail_0 = INSERT INTO media SET title = "", url = "http://aff.bstatic.com/images/hotel/max500/488/48855584.jpg", primary = false, config = "thumbnail", channel = "hotel", type = "image", provider = "booking", creator = #16:5, size = 0, ctime = "2016-03-27T05:56:34+0000", mtime = "2016-03-27T05:56:34+0000"
 LET upload_thumbnail_0 = CREATE EDGE upload FROM $hotel TO $media_thumbnail_0
COMMIT
RETURN $hotel
andrii0lomakin commented 8 years ago

@tglman I think that is dirty manager/serialization order related stuff. So assign it to you.

martingg88 commented 8 years ago

hope we have the solution soon as our users can't add new record now. haiz.

tglman commented 8 years ago

Hi @martingg88,

Will be very usefull if you can provide a full stack trace.

Are you using a not java client ?

martingg88 commented 8 years ago

I can't see any full stack trace at server side. That's the only error message I have for the error.

I'm using batch script at ./console.sh

tglman commented 8 years ago

hi @martingg88,

I did some try with no luck, probably has been solved a while ago, in case can you give me the list of indexes that you have for the classes involved in the batch?

Regards

tglman commented 8 years ago

closing this now, reopen if you have more info