Uploaded image for project: 'MariaDB Server'
  1. MariaDB Server
  2. MDEV-19110

Cassandra plugin fails to build with libthrift-dev in Debian unstable

Details

    Description

      Traditionally the Cassandra plugin has not been built in Debian as the Thrift library is not available there. Our own buildbot builders have had a manually installed Thrift library.

      Since recently however libthrift-dev has been introduced into Debian repositories:
      https://packages.debian.org/buster/libthrift-dev

      I tried to build latest 10.4 using it but the build fails with:

      }}
      boost::shared_ptr<org::apache::cassandra::CassandraIf>; _Alloc = std::allocator<boost::shared_ptr<org::apache::cassandra::CassandraIf> >]'
      /tmp/building/package/storage/cassandra/gen-cpp/Cassandra.h:5065:92:   required from here
      /usr/include/c++/8/ext/new_allocator.h:130:29: error: invalid application of 'sizeof' to incomplete type 'boost::shared_ptr<org::apache::cassandra::CassandraIf>'
             { return size_t(-1) / sizeof(_Tp); }
                                   ^~~~~~~~~~~
      make[4]: *** [storage/cassandra/CMakeFiles/cassandra.dir/build.make:76: storage/cassandra/CMakeFiles/cassandra.dir/cassandra_se.cc.o] Error 1
      make[4]: Leaving directory '/tmp/building/package/builddir'
      {{

      Full log at https://salsa.debian.org/mariadb-team/mariadb-server/-/jobs/149622

      Are these failures something that could be fixed so that we could start building the Cassandra plugin everywhere?

      Attachments

        Issue Links

          Activity

            Thrift in Debian overview: https://tracker.debian.org/pkg/thrift

            otto Otto Kekäläinen added a comment - Thrift in Debian overview: https://tracker.debian.org/pkg/thrift

            Hi otto,

            I don't think it makes much sense to spend time on getting Cassandra Storage Engine to compile. Cassandra has deprecated their Thrift interface years ago (a few months after Cassandra SE was released ) . The new way to access Cassandra is to use the CQL Connector, which does not use Thrift.

            There have been talks (and even a GSoC project) to make a CassandraSE V2 but no usable code have been produced.
            The motivation to keep CassandraSE in the MariaDB source code is to have it as an example for such future attempts (Should we somehow explicitly indicate this? So that packagers like you do not spend effort in vain?)

            psergei Sergei Petrunia added a comment - Hi otto , I don't think it makes much sense to spend time on getting Cassandra Storage Engine to compile. Cassandra has deprecated their Thrift interface years ago (a few months after Cassandra SE was released ) . The new way to access Cassandra is to use the CQL Connector, which does not use Thrift. There have been talks (and even a GSoC project) to make a CassandraSE V2 but no usable code have been produced. The motivation to keep CassandraSE in the MariaDB source code is to have it as an example for such future attempts (Should we somehow explicitly indicate this? So that packagers like you do not spend effort in vain?)
            otto Otto Kekäläinen added a comment - - edited

            OK, thanks for the information. Yes, please document this in an appropriate place. Maybe the debian/control file stanza about the mariadb-plugin-cassandra would be an apt place (pun intended) as there also users can see the note before installing the package. Other good places could be the mariadb.com/kb and maybe some README file in the storage/cassandra directory (currently there is no README in there).

            otto Otto Kekäläinen added a comment - - edited OK, thanks for the information. Yes, please document this in an appropriate place. Maybe the debian/control file stanza about the mariadb-plugin-cassandra would be an apt place (pun intended) as there also users can see the note before installing the package. Other good places could be the mariadb.com/kb and maybe some README file in the storage/cassandra directory (currently there is no README in there).

            MDEV-21368 seems to be a duplicate of this.

            otto Otto Kekäläinen added a comment - MDEV-21368 seems to be a duplicate of this.

            People

              psergei Sergei Petrunia
              otto Otto Kekäläinen
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Git Integration

                  Error rendering 'com.xiplink.jira.git.jira_git_plugin:git-issue-webpanel'. Please contact your Jira administrators.