1

I have an ubuntu server running firebird 1.5. It was working fine, but recently it started hanging (firebird does not respond anymore). Even when trying to restart or stop the server, it shows an error:

>sudo service firebird1.5-super stop
 * Stopping Firebird 1.5 server manager...
Unable to complete network request to host "localhost".
-Failed to establish a connection.
-Connection reset by peer
can not attach to server

What can be happening?

  • This could possibly be a ipv4/ipv6 mismatch. If localhost resolves to ipv6 ::1 and firebird only binds to ipv4 127.0.0.1. I regularly reconfigure /etc/hosts to default to 127.0.0.1.but you might also be able to use the ip or localhost4 somewhere in the firebird config. – eckes Dec 17 '17 at 20:24
-1

I think I found the solution, but I believe it is more related to software then database (So if someone knows how to move this to stack overflow please do this).

The problem was that when hibernate (the persistence layer) works with Firebird 1.5, it doesn't create the temporary tables used by hibernate like in other new databases, instead it creates actual tables with the prefix HT_ (HT_SOMETABLE). I tried to deactivate this with a "hack", until now it's working fine, no more hanging and nothing unusual has happened because of this hack.

This is what I did:

I created a custom Firebird dialect to stop hibernate from creating these tables:

import org.hibernate.dialect.FirebirdDialect;

public class FirebirdHackedDialect extends FirebirdDialect {

    @Override
    public String getCreateTableString() {
        String sql = "HackParaNaoCriarTabelasNoFirebird: ";
        return sql;
    }

}

And set this dialect to the persistence.xml:

<property name="hibernate.dialect" value="com.yourpackage.etc.FirebirdHackedDialect"/>
|improve this answer|||||

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.