[ https://issues.apache.org/jira/browse/FALCON-2104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15400464#comment-15400464 ]
Venkat Ranganathan commented on FALCON-2104: -------------------------------------------- >From the titan upgrade >[instructions|http://s3.thinkaurelius.com/docs/titan/0.5.4/upgrade.html] {quote} .5.1. From 0.4.x and previous D.5.1.1. API Upgrade Titan 0.5.0 has introduced a number of new features and seen significant changes to the API. Refer to the documentation for a detailed description of Titan 0.5.0. Most importantly, Titan 0.5.0 introduces the management system which should be used for schema creation, index building, and other administrative tasks that affect the entire graph. The management system is accessed through g.getManagementSystem() which returns a management transaction that behaves like a normal transaction but provides additional features. In a management transaction, edge labels and property keys are created with the methods makeEdgeLabel(String) and makePropertyKey(String) respectively. Instead of multiple methods for specifying the multiplicity or cardinality, the builders returned by the respective methods now feature a multiplicity method and a cardinality method, each of which expects an enum argument. The names of the methods in Titan 0.4.x are virtually identical to the enum constants used in Titan 0.5.0. Note, that schema type definition and index building have been separated in Titan 0.5.0. In older versions, one would call sortKey to build a vertex-centric index for an edge label and indexed to build a global graph index for property keys. These methods have disappeared from the builder and indexes are build separately using the management system. Refer to the relevant sections of the documentation to learn more about building indexes. \[Note\] Note It is still possible to define types in an expicit TitanTransaction, however, it is strongly encouraged to use this method only for those use cases where schema type creation is part of normal user transactions. In all other cases Titan’s management system should be used. Titan 0.5.0 introduces vertex labels as first class schema types. Many applications build on Titan have developed their own vertex labeling / typing system through vertex properties or some other means. It is highly recommended to transition to the native vertex labels supported in Titan 0.5.0. In previous versions of Titan, the entire graph database configuration had to be provided in a configuration file for each started Titan instance. Starting in 0.5.0, Titan has a central configuration system which stores all configuration properties that must be coordinated across instances. These are initialized from the configuration file used to start the first Titan instance in a new cluster. After that, additional Titan instances only need a minimal configuration to connect to the cluster. Note, that changing global configuration options can no longer be accomplished through changes to the local configuration files. Such changes must now be made through Titan’s management system. Some configuration options have been renamed and new options have been added. See the Chapter 12, Configuration Reference for an up-to-date listing of config options. FullDouble and FullFloat do no longer exist. Use Double and Float instead which are now serialized as 4 and 8 byte floating point numbers. In places where Double or Float was used in sort keys (i.e. as the data type of the property in a sort key), use Decimal and Precision instead, respectively, because they have a fixd decimal range. D.5.1.2. Data Upgrade The data storage format of Titan 0.5.0 is incompatible with previous releases. The 0.5.0 release does not yet include utilities to automatically convert data stored with previous releases. This is planned for the 0.5.1 release. If a data upgrade is desired before this release, it is encouraged to attempt an export from the old version using the graphson format and import it into a new Titan 0.5.0 graph using Faunus/Titan-Hadoop. {quote} Looking through the changes, it looks like the API updates are not affecting our use case. - BTW, this was found while [~bvellanki] was debugging the QE rolling upgrade tests which have not shown other graphdb issues. > Loss of data in GraphDB when upgrading Falcon from 0.9 to 0.10. > ---------------------------------------------------------------- > > Key: FALCON-2104 > URL: https://issues.apache.org/jira/browse/FALCON-2104 > Project: Falcon > Issue Type: Bug > Affects Versions: 0.10 > Reporter: Balu Vellanki > Assignee: Balu Vellanki > Priority: Critical > Fix For: trunk, 0.10 > > Original Estimate: 48h > Remaining Estimate: 48h > > FALCON-1333 (Instance Search feature) requires Falcon to use titan-berkeleyje > version 0.5.4 to support indexing. Up until version 0.9 - Falcon used > titan-berkeleyje-jre6 version 0.4.2. GraphDB created by version 0.4.2 cannot > be read by version 0.5.4. When attempting an upgrade, I realized that entity > and instance lineage data created in 0.9 version could not be read by Falcon > in 0.10 version. > The only solution seems to provide a tool to do the following > - Use 0.4.2 version of titan-berkeleyje-jre6 to read the berkeleyDB based > graphDB and create a JSON file with all data. > - shutdown falcon-0.9, upgrade Falcon. > - use 0.5.4 version of titan-berkeleyje to read JSON file and repopulate > berkeleyDB based graphDB. > - restart falcon-0.10 > I will work on the tool, and update release-notes, upgrade instructions > accordingly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)