How can I upgrade NebulaGraph Database from 2.x to 3.x? - nebula-graph

I wonder if the data formats of the Nebula Graph Database are consistent between all these versions (v2.0, v2.5, v2.6, v3.0, v3.1, v3.2, v3.3).
If yes, can I upgrade the binary directly?
If not, how can I upgrade?

Four intermedium versions (v3.0.0, v3.0.1, v3.0.2, v3.1.0) have incompatible data formats from v2.x (v2.0,v2.5,v2.6) and v3.2, v3.3, etc.
That is if you upgrade from v2.x directly to v3.2/v3.3, just change the binary.
But if you upgrade from v3.0.0-v3.1.0 to v3.2/v3.3, you have to use the upgrade tools.
See the manuals
https://docs.nebula-graph.io/3.3.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-graph-to-latest/
https://docs.nebula-graph.io/3.3.0/4.deployment-and-installation/3.upgrade-nebula-graph/upgrade-nebula-from-300-to-latest/

Related

All gms/firebase libraries must use the exact same version specification (mixing versions can lead to runtime crashes)

I have upgraded gms:play-services-analytics from 11.0.4 to 16.0.4
and firebase-messaging from 11.0.4 to 17.1.0 but lint is giving this error
All gms/firebase libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 17.1.0, 16.2.0, 16.0.4, 16.0.3, 16.0.1, 16.0.0. Examples include `com.google.firebase:firebase-messaging:17.1.0` and `com.google.firebase:firebase-iid:16.2.0`
I gave a look into the External libraries i can see different versions of gms is being used here.
com.google.android.gms:play-services-ads-identifier-16.0.0
com.google.android.gms:play-services-analytics-16.0.4
com.google.android.gms:play-services-analytics-impl-16.0.4
com.google.android.gms:play-services-base-16.0.1
com.google.android.gms:play-services-basement-16.0.1
com.google.android.gms:play-services-measurement-base-16.0.3
Similary
com.google.firebase:firebase-common-16.0.0
com.google.firebase:firebase-iid-16.2.0
com.google.firebase:firebase-iid-interop-16.0.0
com.google.firebase:firebase-messaging-17.1.0
i have only added the following two dependencies
implementation 'com.google.android.gms:play-services-analytics:16.0.4'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
root level build.gradle contains
classpath 'com.google.gms:google-services:4.0.1'
As mentioned in the blog
https://android-developers.googleblog.com/2018/05/announcing-new-sdk-versioning.html
All firebase/gms libraries can now have a different versioning and the libraries mentioned above are imported by android itself.
Why i am getting this error ?
For me, it was using a rather old build tools version. Updating to build tools 28.0.3 fixed the problem.

MariaDB (/usr/include/mysql and libmysqlclient) vs (/usr/include/mariadb libmariadbclient and libmariadb)

First, let me clarify everything here is MariaDB - nothing actually involving the MySQL code.
In Arch Linux, I'm running a MariaDB server and client. I installed the mariadb package which is built from the source at:
http://ftp.heanet.ie/mirrors/mariadb/mariadb-10.1.18/source/mariadb-10.1.18.tar.gz
This provides:
/usr/include/mysql/* (141 .h files)
/usr/lib/libmysqlclient.so
/usr/lib/libmysqld.so (I see this is for embedding a MariaDB server in an application which I don't need, so I'll ignore that for the rest of my message.)
I have C++ applications that will access MariaDB, and I thought I also needed mariadb-connector-c, so I built tag v2.3.1 at
https://github.com/MariaDB/mariadb-connector-c
This provides:
/usr/include/mariadb/* (40 .h files)
/usr/lib/mariadb/libmariadbclient.a
/usr/lib/mariadb/libmariadb.so
Q1 -
What's the purpose and difference between libmysqlclient, libmariadbclient, and libmariadb? (Ignoring difference shared vs static library.)
Q2 -
/usr/include/mysql/mysql.h (from http://ftp.heanet.ie/mirrors/mariadb/mariadb-10.1.18/source/mariadb-10.1.18.tar.gz)
and
/usr/include/mariadb/mysql.h (from tag v2.3.1 at from https://github.com/MariaDB/mariadb-connector-c)
Are quite similar and have a lot of identical code, but are also way different.
I ran into that /usr/include/mysql/mysql.h defines:
const char * STDCALL mysql_error(MYSQL * myql);
But /usr/include/mariadb/mysql.h defines:
char * STDCALL mysql_error(MYSQL *mysql);
(Note the missing const on the return value.)
I got very confused at this point why the same function is declared in each, why they're different, which I should be using, etc.
NOTE I'm aware of mariadb++, but its last commit was 3.5 years ago, so I'm pretending it doesn't exist.
1) The main difference between libmysql and libmariadb (Connector/C) is the license: libmysql is licensed under GPL license, while Connector/C is licensed under the less restrictive LGPL license which will allow to use it closed source applications.
MariaDB Connector/C 2.3 (libmariadb= supports all api calls and public structures from libmysql. Version 3.0 (currently) beta offers a lot of new functionality which isn't implemented in libmysql.
Beginning of MariaDB Server version 10.2 (beta) Connector/C 3.0 will replace libmysql in the server package.
2) This a minor bug and already fixed

FOSRestBundle & JMSSerializerBundle with symfony 2.7 and PHP 5.5.12

I'd like to add the 2 libraries FOSRestBundle & JMSSerializerBundle to my application built with symfony 2.7 but i encountred this response
Problem 1
- Installation request for friendsofsymfony/rest-bundle dev-master -> satisfiable by friendsofsymfony/rest-bundle[dev-master].
- friendsofsymfony/rest-bundle dev-master requires php ^5.5.9|~7.0 -> your PHP version (5.5.12) overriden by "config.platform.php" version (5.3.9) does not satisfy that requirement.
Problem 2
- Installation request for jms/serializer-bundle dev-master -> satisfiable by jms/serializer-bundle[dev-master].
- jms/serializer-bundle dev-master requires php >=5.4.0 -> your PHP version (5.5.12) overriden by "config.platform.php" version (5.3.9) does not satisfy that requirement.
Notice that PHP version is 5.5.12
I think the problem is the version of this 2 libraries. If yes, What are the versions of FOSRestBundle & JMSSerializerBundle ?
dev-master should never be used as version bound when requiring a package as dependency, except in some specific cases.
Go to https://packagist.org/ then search for the packages you are looking for and use their respective current stable version as version bound for your composer.json's requirement.
Also, in your composer.json, you have a config key containing a platform.php key with 5.3.9 as value. Remove or override this block according to your real PHP version. See Symfony2, composer, your PHP version (5.6.18) overriden by "config.platform.php" version (5.3.9) does not satisfy requirement.
Of course, if the last stable version of one of them isn't compatible with your environment (PHP >= 5.5.9 for friendsofsymfony/rest-bundle), you need to look for an older version supporting your environment (all is available on packagist, and surely on the official documentation of these packages).

Ploneboard conflict with AccessControl?

i’m trying to install the latest Ploneboard (v3.6) on a Plone 4.2 site, but getting the error
The version, 2.13.11, is not consistent with the requirement, AccessControl>=3.0
i see that the most recent Ploneboard change log for this version mentions "Fixed dependency for AccessControl. Plone < 4.3 have an old version pinned [cekk]”
anyone see what is wrong in this picture? thanks for any clues.
Since version 3.6 PloneBoard requires AccessControl>=3.0.
The Problem in your case is, that Plone 4.2.x has an older version pinned:
Check: http://dist.plone.org/release/4.2-latest/
If you run ./bin/buildout annotate | grep -C 5 AccessControl.
You will see which buildout configuration pins the version of AccessControl.
...
[versions]
AccessControl= 2.13.13
http://dist.plone.org/release/4.2-latest/versions.cfg
...
In your case you need to override this version pinning in your buildout.cfg (or versions.cfg).
[versions]
AccessControl = 3.0.8 # For example
I don't know which version of AccessControl works with Plone 4.2.x.
But 3.0.x seems suitable.

Symfony ICU Issue, routes using locale different than EN will fail

After installing Yosemite and a new version of MAMP
and when I'm trying to execute
domain/app_dev.php/es/venues/3/show
This route is rendering a form containing a language type field, so it's requiring ICU.
being 'es' the locale i get errors. If I changed it to 'en' there's no problem.
The errors are:
[1/2] ResourceBundleNotFoundException: The resource bundle
"/Users/a77/Documents/DEV/UVox
Com/vendor/symfony/icu/Symfony/Component/Icu/Resources/data/lang/root.php"
does not exist.
[2/2] Couldn't read the indices [Languages] from
"/Users/a77/Documents/DEV/UVox
Com/vendor/symfony/icu/Symfony/Component/Icu/Resources/data/lang/es.res".
The indices also couldn't be found in the fallback locale(s)
"root.res".
My symfony version is 2.5, I'm running the MAMP PHP 5.5.10.
I updated dependencies via composer, including "symfony/intl": "*",
I have followed several webs in order to install icu and intl via pecl. But still get the error. I don't know how to check if the installations or the configs are ok. Maybe you can let me know how to test both via terminal and let you know what is the result...
This is because you are trying to get resources only for language es. But now (from the moment of importing to Symfony icu data) you need to get language resources via language and country codes es_ES.
You may not be able to just simply activate intl.so after the Yosemite update. I solved the issue installing intl.so following an excellent article by Danilo Braband http://dab.io/posts/getting-started-with-symfony-on-yosemite.html
Solved updgrading to Symfony 2.5.6

Resources