Stream

Join this community to post or comment
 
Congratulations to all of OrientDB team. Very important to present information about raking in DB-Engines site, informing the rise in popularity of position number 65 to 49. Towards the top positions! http://db-engines.com/en/ranking ... http://db-engines.com/en/system/OrientDB
2
Add a comment...

Albert Avi Alaluf

Discussione  - 
 
I have class project and I stuck on "Reached maximum number of concurrent connections (1000), reject incoming connection from /10.224.176.11:36168 [OServerNetworkListener]" Any suggestions?
1
Add a comment...

Jake Rass

Discussione  - 
 
"OrientDB Studio Graph does not work well with classes derived from ORestricted class."
Hi Luca,
following your instructions for partitioned graph I used commands:
ALTER CLASS V superclass ORestricted
ALTER CLASS E superclass ORestricted

create class Concept extends V set ....
create class ConceptLink extends E set...
and then created several vertexes and edges on these classes using 
commands:
 create vertex Concept ...
create edge ConceptLink ...
When I try to make the same from graph interface of the studio, I cannot do it because combos of new vertex and new edge classes are empty. It does not happen when V and E are not derived from ORestricted class. In newer version for developers the situation is worse because you also cannot see the settings tab of properties for secured classes.
Jake
1
Add a comment...
 
Hi!

OrientDB on FreeBSD. It's possible?
Does anyone have any experience?
1
1
Leonardo Ferreira Guimarães's profile photoCarlo Pradissitto's profile photoOmar Cruz's profile photo
3 comments
 
Of course it is, and you can take advantage of ZFS and DTrace (read this: http://carloprad.blogspot.it)
Add a comment...

Sandeep Nayak

Discussione  - 
 
Has anyone used OrientDB on Google Cloud? Just starting to look at OrientDB and wanted to know any experiences of using it on Google Cloud. Thanks in advance.
1
Add a comment...

Ricardo Memoria

Discussione  - 
 
Does anyone know how to insert a date in an embedded field? Something like that:

insert into V set data = {"utime": Date('2015-01-01 00:00:00')}
1
Jimmy Pannier's profile photo
 
i think you can put a string with the date format set in the database settings.
Add a comment...

Jimmy Pannier

Discussione  - 
 
hi orient db community !
Is it possible using the sql syntax to select all fields but except one.

f.e :
select *  except columnname from ...

Thanks !
2
Jimmy Pannier's profile photoNicolas Embleton's profile photo
2 comments
 
Nice... Didn't know that. Thanks for sharing it.
Add a comment...

Vinh Ht

Discussione  - 
 
How to save arrays in orientdb like MongoDB with Embedded
{
id : "1",
profile : {
   name:"abc"
  }
}
3
Ricardo Memoria's profile photo
 
Hi Vinh... Did you find an answer to your question? Could you please share it if so?
Add a comment...

Jett Gamboa

Discussione  - 
 
Is there an example somewhere of using OrientDB as an embedded server from within a Spring application? Thank you. 
1
camilo casadiego's profile photo
 
Hi there, you can mix some concepts from this page http://www.programmazione.it/index.php?entity=eitem&idItem=47585 (as hjow to stratup your connection pool), then you can have the datasource like this..

@Configuration
public class GraphDatabaseConfiguration implements EnvironmentAware{

private final Logger log = LoggerFactory.getLogger(GraphDatabaseConfiguration.class);

    private RelaxedPropertyResolver propertyResolver;

    private Environment env;
    
   @Override
    public void setEnvironment(Environment env) {
        this.env = env;
        this.propertyResolver = new RelaxedPropertyResolver(env, "spring.orientDb.");
    }
    
   @Bean(name="graphFactory")
    public OrientGraphFactory factoryProducer() {
        log.debug("Configuring Orient Datasource");
        if (propertyResolver.getProperty("url") == null || propertyResolver.getProperty("username") == null 
        || propertyResolver.getProperty("password") == null) {
            log.error("Your Orient database connection pool configuration is incorrect! The application" +
                    "cannot start. Please check your Spring profile, current profiles are: {}",
                    Arrays.toString(env.getActiveProfiles()));

            throw new ApplicationContextException("OrientDatabase connection pool is not configured correctly");
        }
        
        OrientGraphFactory orientDbFactory = new OrientGraphFactory(propertyResolver.getProperty("url"), 
        propertyResolver.getProperty("username"), propertyResolver.getProperty("password"));
        orientDbFactory.setupPool(10, 100);
        
        return orientDbFactory;
    }

}
and in the classes just inject this 

@Autowired
private OrientGraphFactory graphFactory;

Keep in mind that in my code I use an external server, just change it using the provided page to start and embebed server instead of connecting to an external server
Add a comment...

Julie Frund

Discussione  - 
 
Another Orient newbie here!  I'm experimenting with my database, still wrapping my head around how to best model my data and realized I should have had one of my classes extend a different superclass.  How do I change it?   I was trying 'ALTER CLASS X extends Y' but that it's doing the trick.   Thanks for any tips!  
1
Luca Garulli's profile photoJulie Frund's profile photo
4 comments
 
Thanks!  
Add a comment...

About this community

document graph NoSQL DBMS

Thomas Knoell

Discussione  - 
 
Issue with closing database connections in multi-thread environment

We are running in an issue when we close a database connection (db.close) as eventually, the following error is displayed: No more resources available in pool. Requested resource: [db location]. Once in this state, the application is effectively dead and needs to be restarted. If the call to db.close is not made, all is running fine, no error is displayed.

Here are some additional details: There are multiple classes that extend a basic database access layer class (which provides basic functions such as close and open operations). The extensions handle different aspects of the application. Each extension implements autocloseable which will enforce a call to the close interface once the resource is out of scope. A typical (simplified) scenario would be like this:

  try (DatabaseLayerExtensionA dleA = new DatabaseLayerExtensionA()) {

      … do something …

     try (DatabaseLayerExtensionB dleB = new DatabaseLayerExtensionB()) {

      … do something …

     }

      … do something …

  }

The nested calls can be fairly deep depending on the action that is required.

When an instance of a class extending the database access layer is created, a connection to the database is established:

       ODatabaseDocumentTx db = new ODatabaseDocumentTx(m_dataset);
       db.open(m_dbUser, m_dbPw);
       return db;

When the instance is out of scope, the close interface is invoked which executes a db.close operation.

There are multiple threads that each require access to the database. To ensure that the thread does have a reference to the database and not causing an exception (Database instance is not set in current thread), a ODatabaseLocalThreadFactory is defined and registered with the Orient instance. 

In the server configuration file (orientdb-server-config.xml) the max pool size is set to 20. 

That is about all there is as far as the context is concerned. We are using version 1.7.9, Java version 8. Like I mentioned before, if the close is not enforced, all works well. We would like to understand why this is the case. Any feedback is welcome.
1
Luca Garulli's profile photoThomas Knoell's profile photo
6 comments
 
If the database would have been closed prematurely code that processes the fetched data would have failed (wouldn't be able to access the data). So, we are fairly sure that this is not the case since we did not see the corresponding error in our logs. And it is not the close that causes the error, it is when a new connection is established that we see it. Like you said, we would have expected it in case we do not close the database but that is not the case.

We did find an entry on the net talking about an OrientDB connection issue when there are nested database references so we thought that this may be a cause here as well. But that entry was some time ago and may no longer be an issue.
Add a comment...

Jimmy Pannier

Discussione  - 
 
Hi there,

Has anyone a tool to create a MCD or Visual representation of orientdb class structure ? 
1
Jimmy Pannier's profile photoNicolas Embleton's profile photo
7 comments
 
Gotcha. yEd is first and foremost a Diagramming tool that happens to be graph-centric. It has awesome layout tools. I do all my ERDs using it.
Add a comment...

Jake Rass

Discussione  - 
 
OrientDB Studio Graph does not work well with classes derived from ORestricted class.  When trying to create new vertex , these classes don't appear in the combo, when trying to use existing ones property pan appears empty.
Any advises?
1
Luca Garulli's profile photo
 
Please could you open a new issue attaching screenshots?
Add a comment...

Jimmy Pannier

Discussione  - 
 
Hi guys, 
I've got a problem with GraphApi (Vertex).

1/ create a vertex and put an hashmap into the properties

v = graph.createVertex(..)
v.property("map",hashmap);

2/ get the property v.get("map") gives an OrientElementIterable. So you can get the values but not the keys !

How to get the hashmap without use document api !?
1
Add a comment...

Jimmy Pannier

Discussione  - 
 
Hi,

import database gives always the followed exception.
i'm using the last OrientDB 2.1-rc3 Community Edition when running in cluster mode


Caused by: java.lang.ClassCastException: com.orientechnologies.orient.server.distributed.ODistributedStorage cannot be cast to com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage
1
Luca Garulli's profile photoJimmy Pannier's profile photo
2 comments
 
Here the full stacktrace : 



Importing records...
- Imported 300 records into clusters: [_studio, dataset, datasetdefinition, default, documenttype, internal, itemdefinition, orole, ouser]. Total records imported so far: 300 (60.00/sec)
- Imported 400 records into clusters: [languagemodel]. Total records imported so far: 700 (80.00/sec)

Started migration of links (-migrateLinks=true). Links are going to be updated according to new RIDs:
- Cluster oid_cluster5... Completed migration of 0 records in current cluster
- Cluster odocument... Completed migration of 0 records in current cluster
- Cluster v_cluster5... Completed migration of 0 records in current cluster
- Cluster orids_cluster5... Completed migration of 0 records in current cluster
- Cluster orientdbmodel... Completed migration of 0 records in current cluster
- Cluster patientproject... Completed migration of 0 records in current cluster
- Cluster project... Completed migration of 1 records in current cluster
- Cluster externalid... Completed migration of 0 records in current cluster
- Cluster professional... Completed migration of 10 records in current cluster
- Cluster professionalproject_cluster5... Completed migration of 0 records in current cluster
- Cluster oschedule... Completed migration of 0 records in current cluster
- Cluster ofunction_cluster5... Completed migration of 0 records in current cluster
- Cluster odocumentwrapper... Completed migration of 0 records in current cluster
- Cluster itemdefinitionbase... Completed migration of 0 records in current cluster
- Cluster tag... Completed migration of 23 records in current cluster
- Cluster patientproject_cluster5... Completed migration of 1 records in current cluster
- Cluster terminologybase_cluster5... Completed migration of 0 records in current cluster
- Cluster datasetdefinitionitem... Completed migration of 0 records in current cluster
- Cluster idversionmodel... Completed migration of 0 records in current cluster
- Cluster itemdefinition_cluster5... Completed migration of 0 records in current cluster
- Cluster orids... Completed migration of 0 records in current cluster
- Cluster oschedule_cluster5... Completed migration of 0 records in current cluster
- Cluster patientprofessional... Completed migration of 0 records in current cluster
- Cluster patientprofessional_cluster5... Completed migration of 4 records in current cluster
- Cluster _studio... Completed migration of 2 records in current cluster
- Cluster orole... Completed migration of 3 records in current cluster
- Cluster professional_cluster5... Completed migration of 0 records in current cluster
- Cluster messagedefinitionbase_cluster5... Completed migration of 0 records in current cluster
- Cluster messagedefinitionbase... Completed migration of 0 records in current cluster
- Cluster dataset_cluster5... Completed migration of 0 records in current cluster
- Cluster ofunction... Completed migration of 0 records in current cluster
- Cluster identity_cluster5... Completed migration of 0 records in current cluster
- Cluster messagedefinition_cluster5... Completed migration of 0 records in current cluster
- Cluster odmodelwithversion_cluster5... Completed migration of 0 records in current cluster
- Cluster oid... Completed migration of 0 records in current cluster
- Cluster languagemodel_cluster5... Completed migration of 0 records in current cluster
- Cluster default... Completed migration of 6 records in current cluster
- Cluster e_cluster5... Completed migration of 0 records in current cluster
- Cluster terminology... Completed migration of 93 records in current cluster
- Cluster identity... Completed migration of 7 records in current cluster
- Cluster terminologybase... Completed migration of 0 records in current cluster
- Cluster odocument_cluster5... Completed migration of 0 records in current cluster
- Cluster idversionmodel_cluster5... Completed migration of 0 records in current cluster
- Cluster odmodelwithversion... Completed migration of 0 records in current cluster
- Cluster orole_cluster5... Completed migration of 0 records in current cluster
- Cluster e... Completed migration of 0 records in current cluster
- Cluster documenttype_cluster5... Completed migration of 0 records in current cluster
- Cluster ouser... Completed migration of 3 records in current cluster
- Cluster documenttype... Completed migration of 3 records in current cluster
- Cluster itemdefinitionbase_cluster5... Completed migration of 0 records in current cluster
- Cluster datasetdefinitionitem_cluster5... Completed migration of 0 records in current cluster
- Cluster _studio_cluster5... Completed migration of 0 records in current cluster
- Cluster project_cluster5... Completed migration of 0 records in current cluster
- Cluster orientdbmodel_cluster5... Completed migration of 0 records in current cluster
- Cluster messagedefinition... Completed migration of 0 records in current cluster
- Cluster itemdefinition... Completed migration of 275 records in current cluster
- Cluster ouser_cluster5... Completed migration of 0 records in current cluster
- Cluster professionalproject... Completed migration of 1 records in current cluster
- Cluster terminology_cluster5... Completed migration of 0 records in current cluster
- Cluster v... Completed migration of 0 records in current cluster
- Cluster externalid_cluster5... Completed migration of 0 records in current cluster
- Cluster odocumentwrapper_cluster5... Completed migration of 0 records in current cluster
- Cluster datasetdefinition... Completed migration of 71 records in current cluster
- Cluster dataset... Completed migration of 198 records in current cluster
- Cluster languagemodel... Completed migration of 256 records in current cluster
- Cluster datasetdefinition_cluster5... Completed migration of 0 records in current cluster
- Cluster tag_cluster5... Completed migration of 0 records in current cluster
Total links updated: 957

Done. Imported 958 records in 14.31 secs


Importing indexes ...
- Index 'OUser.name'...OK
- Index 'uniqueProfessional.internalId'...OK
- Index 'luceneMessageDefinition.id'...OK
- Index 'luceneDataSetDefinition.id'...Error on database import happened just before line 0, column 7623783
com.orientechnologies.orient.server.distributed.ODistributedException: Error on execution distributed COMMAND
        at com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:411)
        at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
        at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.command(ONetworkProtocolBinary.java:1190)
        at com.orientechnologies.orient.server.network.protocol.binary.ONetworkProtocolBinary.executeRequest(ONetworkProtocolBinary.java:390)
        at com.orientechnologies.orient.server.network.protocol.binary.OBinaryNetworkProtocolAbstract.execute(OBinaryNetworkProtocolAbstract.java:222)
        at com.orientechnologies.common.thread.OSoftThread.run(OSoftThread.java:71)
Caused by: com.orientechnologies.orient.core.index.OIndexException: Cannot create the index 'luceneDataSetDefinition.id'
        at com.orientechnologies.orient.core.index.OIndexAbstract.create(OIndexAbstract.java:244)
        at com.orientechnologies.orient.core.index.OIndexMultiValues.create(OIndexMultiValues.java:215)
        at com.orientechnologies.orient.core.index.OIndexFullText.create(OIndexFullText.java:224)
        at com.orientechnologies.orient.core.index.OIndexFullText.create(OIndexFullText.java:45)
        at com.orientechnologies.orient.core.index.OIndexManagerShared.createIndex(OIndexManagerShared.java:155)
        at com.orientechnologies.orient.core.index.OIndexManagerProxy.createIndex(OIndexManagerProxy.java:79)
        at com.orientechnologies.orient.core.sql.OCommandExecutorSQLCreateIndex.execute(OCommandExecutorSQLCreateIndex.java:275)
        at com.orientechnologies.orient.core.sql.OCommandExecutorSQLDelegate.execute(OCommandExecutorSQLDelegate.java:89)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.executeCommand(OAbstractPaginatedStorage.java:1205)
        at com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage.command(OAbstractPaginatedStorage.java:1186)
        at com.orientechnologies.orient.server.distributed.ODistributedStorage.command(ODistributedStorage.java:224)
        at com.orientechnologies.orient.core.command.OCommandRequestTextAbstract.execute(OCommandRequestTextAbstract.java:63)
        at com.orientechnologies.orient.server.distributed.task.OSQLCommandTask.execute(OSQLCommandTask.java:82)
        at com.orientechnologies.orient.server.hazelcast.OHazelcastPlugin.executeOnLocalNode(OHazelcastPlugin.java:776)
        at com.orientechnologies.orient.server.hazelcast.ODistributedWorker.onMessage(ODistributedWorker.java:300)
        at com.orientechnologies.orient.server.hazelcast.ODistributedWorker.run(ODistributedWorker.java:121)
Caused by: java.lang.ClassCastException: com.orientechnologies.orient.server.distributed.ODistributedStorage cannot be cast to com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage
        at com.orientechnologies.orient.core.serialization.serializer.stream.OStreamSerializerSBTreeIndexRIDContainer.deserializeFromDirectMemoryObject(OStreamSerializerSBTreeIndexRIDContainer.java:231)
        at com.orientechnologies.orient.core.serialization.serializer.stream.OStreamSerializerSBTreeIndexRIDContainer.deserializeFromDirectMemoryObject(OStreamSerializerSBTreeIndexRIDContainer.java:40)
        at com.orientechnologies.orient.core.storage.impl.local.paginated.base.ODurablePage.deserializeFromDirectMemory(ODurablePage.java:127)
        at com.orientechnologies.orient.core.index.sbtree.local.OSBTreeBucket.getEntry(OSBTreeBucket.java:215)
        at com.orientechnologies.orient.core.index.sbtree.local.OSBTree$OSBTreeCursorForward.next(OSBTree.java:1841)
        at com.orientechnologies.orient.core.index.engine.OSBTreeIndexEngine.size(OSBTreeIndexEngine.java:371)
        at com.orientechnologies.orient.core.index.OIndexMultiValues.getSize(OIndexMultiValues.java:347)
        at com.orientechnologies.orient.core.index.OIndexRebuildOutputListener.onCompletition(OIndexRebuildOutputListener.java:74)
        at com.orientechnologies.orient.core.index.OIndexAbstract.rebuild(OIndexAbstract.java:410)
        at com.orientechnologies.orient.core.index.OIndexAbstract.create(OIndexAbstract.java:229)
        ... 15 more

Error: com.orientechnologies.orient.core.db.tool.ODatabaseExportException: Error on importing database 'Cloud5' from file: backupCloud.zip.gz

Error: com.orientechnologies.orient.server.distributed.ODistributedException: Error on execution distributed COMMAND

Error: com.orientechnologies.orient.core.index.OIndexException: Cannot create the index 'luceneDataSetDefinition.id'

Error: java.lang.ClassCastException: com.orientechnologies.orient.server.distributed.ODistributedStorage cannot be cast to com.orientechnologies.orient.core.storage.impl.local.OAbstractPaginatedStorage





Importing in a another orientdb instance in standalone mode is a success.
Add a comment...

Ricardo Memoria

Discussione  - 
 
Hi Community... I'm new to orientDB. Quick question -> I'll start a new nodeJS project. Does the 'oriento' lib cover all the OrientoDB API? Any recommended book? I didn't find much information about that. 
1
Nicolas Embleton's profile photoRicardo Memoria's profile photo
7 comments
 
+Luca Garulli  Congratulations for the great product. It seems OrientDB will fill the gaps I found in other noSQL DBs. Probably you guys should invest a little bit more in disclosure and advertisement. I've searched about noSQL databases around 1 to 2 years ago and I'm  impressed I've not heard about OrientDB. Probably now because I'm focusing on the specific isues, like transactions and joins, I finally found it. I've heard a lot of people that are migrating from RDBMS to noSQL complaining about these limitations in other products like MongoDB.
Add a comment...

Alan Frye

Discussione  - 
 
I am new to orientdb and looking to use on a project. I am using the Java api and was wondering the best way to insert multiple documents with one command. I have a queue of records that I need to save to database.
1
Alan Frye's profile photoLuca Garulli's profile photo
5 comments
Add a comment...

Fede Ramirez

Discussione  - 
OrientDB is an Open Source NoSQL DBMS with the features of both Document and Graph DBMSs. It's written in Java. Supports schema-less, schema-full and schema-mixed modes. OrientDB adheres to the NoSQL movement even though it supports a subset of SQL as query language.
3
Nicolas Embleton's profile photo
 
Oh... Nice... Didn't know Bitnami had an OrientDB stack. Will check if they ported it to Google Cloud too.
Add a comment...

camilo casadiego

Discussione  - 
 
Hi there guy, I just started using orientDB nd I got to say its pretty amazing, I got a question related to the API, is there a chance to create a vertex or an edge defining parent class using the addVertex API method, or should I run the "sql" command "create class V1 extends parentClass"
1
Luca Garulli's profile photocamilo casadiego's profile photo
2 comments
 
exactly what I was looking for! thank u very much!
Add a comment...

David Jung

Discussione  - 
 
I received an email from AWS that OrientDB community edition will not be available. Just wondering if there is any changes in OrientDB offering model.
5
Nicolas Embleton's profile photo
 
Interested in the discussion. 
Add a comment...