Author Topic: Lompsa 0.4.10 Problem  (Read 5256 times)

warmach on: October 16, 2015, 03:37:32 AM

  • Senior Fimker
  • ***
  • Posts: 234
    • View Profile
I'm updating my test server code using the Lompsa 0.4.10 download (linux 32).  I take the contents of the FIM directory and copy over to my test server as I have always done in the past.  When I run the server, I get a database upgrade error.

Code: [Select]
2015-10-16 01:14:15 FINE: Will apply sql:
CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height)
2015-10-16 01:14:15 SEVERE: Database error executing CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height)
java.lang.RuntimeException: Database error executing CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height)
at nxt.db.DbVersion.apply(DbVersion.java:83)
at nxt.NxtDbVersion.update(NxtDbVersion.java:738)
at nxt.db.DbVersion.init(DbVersion.java:55)
at nxt.db.BasicDb.init(BasicDb.java:136)
at nxt.Db.init(Db.java:39)
at nxt.Nxt$Init.<clinit>(Nxt.java:339)
at nxt.Nxt.init(Nxt.java:313)
at nxt.Nxt.main(Nxt.java:300)
Caused by: org.h2.jdbc.JdbcSQLException: Table "VOTE" not found; SQL statement:
CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height) [42102-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:178)
at org.h2.message.DbException.get(DbException.java:154)
at org.h2.schema.Schema.getTableOrView(Schema.java:439)
at org.h2.command.ddl.CreateIndex.update(CreateIndex.java:61)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:254)
at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:117)
at nxt.db.FilteredStatement.executeUpdate(FilteredStatement.java:45)
at nxt.db.TransactionalDb$DbStatement.executeUpdate(TransactionalDb.java:256)
at nxt.db.DbVersion.apply(DbVersion.java:74)
... 7 more
2015-10-16 01:14:15 INFO: Shutting down...

Previously, my server code was 0.5.1 (from Lompsa 0.4.8 download).  It looks like that somewhere the code didn't create the "vote" table.  Was that done in the Lompsa 0.4.9 release? 
Warmach's Forging Pool
http://fim.warmach.info/pool/
May the forge be with you...

Pohatta #1 on: October 16, 2015, 11:01:49 AM

  • Fresh Fimker
  • *
  • Posts: 30
    • View Profile
Likely not related to Warmach's problem, but I can not send a message (incidently tried to send a message to Warmach's pool account!). I did it excatly the same way as previously.  Here's a screencap.
FIM-6JXS-8RYY-8H8K-52ACJ

Dirk Diggler #2 on: October 16, 2015, 05:49:16 PM

  • FIMK Staff
  • *****
  • Posts: 486
    • View Profile
    • Krypto Fin ry
I'm updating my test server code using the Lompsa 0.4.10 download (linux 32).  I take the contents of the FIM directory and copy over to my test server as I have always done in the past.  When I run the server, I get a database upgrade error.

Code: [Select]
2015-10-16 01:14:15 FINE: Will apply sql:
CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height)
2015-10-16 01:14:15 SEVERE: Database error executing CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height)
java.lang.RuntimeException: Database error executing CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height)
at nxt.db.DbVersion.apply(DbVersion.java:83)
at nxt.NxtDbVersion.update(NxtDbVersion.java:738)
at nxt.db.DbVersion.init(DbVersion.java:55)
at nxt.db.BasicDb.init(BasicDb.java:136)
at nxt.Db.init(Db.java:39)
at nxt.Nxt$Init.<clinit>(Nxt.java:339)
at nxt.Nxt.init(Nxt.java:313)
at nxt.Nxt.main(Nxt.java:300)
Caused by: org.h2.jdbc.JdbcSQLException: Table "VOTE" not found; SQL statement:
CREATE INDEX IF NOT EXISTS vote_height_idx ON vote(height) [42102-176]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:344)
at org.h2.message.DbException.get(DbException.java:178)
at org.h2.message.DbException.get(DbException.java:154)
at org.h2.schema.Schema.getTableOrView(Schema.java:439)
at org.h2.command.ddl.CreateIndex.update(CreateIndex.java:61)
at org.h2.command.CommandContainer.update(CommandContainer.java:79)
at org.h2.command.Command.executeUpdate(Command.java:254)
at org.h2.jdbc.JdbcStatement.executeUpdateInternal(JdbcStatement.java:132)
at org.h2.jdbc.JdbcStatement.executeUpdate(JdbcStatement.java:117)
at nxt.db.FilteredStatement.executeUpdate(FilteredStatement.java:45)
at nxt.db.TransactionalDb$DbStatement.executeUpdate(TransactionalDb.java:256)
at nxt.db.DbVersion.apply(DbVersion.java:74)
... 7 more
2015-10-16 01:14:15 INFO: Shutting down...

Previously, my server code was 0.5.1 (from Lompsa 0.4.8 download).  It looks like that somewhere the code didn't create the "vote" table.  Was that done in the Lompsa 0.4.9 release?

I made a mistake. I accidentally put out a version where the database versions don't match the previous update numbers.
During development I've added some tables which i then removed before releasing the whole thing.
Since I had a database file with the correct version numbers it worked for me and it skipped my attention.

The only solution is probably to just let it download. I'll make sure i pay closer attention next time.

sorry  :-\
FIMK Developer | GPG fingerprint: CEF2 7C39 43BE 6800 504E  71BC 7E87 A7B0 AC34 E2D5 | mofowallet.com | blog

Dirk Diggler #3 on: October 16, 2015, 05:56:16 PM

  • FIMK Staff
  • *****
  • Posts: 486
    • View Profile
    • Krypto Fin ry
Likely not related to Warmach's problem, but I can not send a message (incidently tried to send a message to Warmach's pool account!). I did it excatly the same way as previously.  Here's a screencap.

Are you running with the local server on or are you using the remote servers?
If using the remote ones, it's to be expected they have been acting up these past two days.
I'm currently rewriting our deployment scripts (upstart, chef etc) we'll release them coming weekend likely so any one can use them to easily deploy FIMK/NXT etc..

If in doubt if the remote FIMK servers are working you can always check out https://www.mofowallet.com/launch.html#/activity/fim/activity/latest since it connects to those same servers.
FIMK Developer | GPG fingerprint: CEF2 7C39 43BE 6800 504E  71BC 7E87 A7B0 AC34 E2D5 | mofowallet.com | blog

warmach #4 on: October 16, 2015, 07:35:34 PM

  • Senior Fimker
  • ***
  • Posts: 234
    • View Profile


The only solution is probably to just let it download. I'll make sure i pay closer attention next time.

sorry  :-\

Are you referring to downloading client again or entire blockchain?
Warmach's Forging Pool
http://fim.warmach.info/pool/
May the forge be with you...

Dirk Diggler #5 on: October 16, 2015, 08:02:29 PM

  • FIMK Staff
  • *****
  • Posts: 486
    • View Profile
    • Krypto Fin ry
Are you referring to downloading client again or entire blockchain?

blockchain..
FIMK Developer | GPG fingerprint: CEF2 7C39 43BE 6800 504E  71BC 7E87 A7B0 AC34 E2D5 | mofowallet.com | blog

Pohatta #6 on: October 16, 2015, 08:35:17 PM

  • Fresh Fimker
  • *
  • Posts: 30
    • View Profile
Are you running with the local server on or are you using the remote servers?
If using the remote ones, it's to be expected they have been acting up these past two days.
I'm currently rewriting our deployment scripts (upstart, chef etc) we'll release them coming weekend likely so any one can use them to easily deploy FIMK/NXT etc..

If in doubt if the remote FIMK servers are working you can always check out https://www.mofowallet.com/launch.html#/activity/fim/activity/latest since it connects to those same servers.

I really don't understand your techno talk, all I was saying is that I was unable to send a message from my wallet using mofowallet.com. Anyhow, it doesn't matter as I now tried it again (exactly the same way as few hours earlier), and it worked! Weird!
FIM-6JXS-8RYY-8H8K-52ACJ

warmach #7 on: October 16, 2015, 09:35:18 PM

  • Senior Fimker
  • ***
  • Posts: 234
    • View Profile
blockchain..

That means that every node on the network will need to re-download the blockchain if they upgrade to 0.5.2  Can't there be a patch or script you can release to "fix" the table problem? 

In my case, my pool runs two nodes and a test server.  I will have to re-download for each server.  At this point, I'll probably just wait until the next release.
Warmach's Forging Pool
http://fim.warmach.info/pool/
May the forge be with you...

Dirk Diggler #8 on: October 17, 2015, 02:03:33 PM

  • FIMK Staff
  • *****
  • Posts: 486
    • View Profile
    • Krypto Fin ry
That means that every node on the network will need to re-download the blockchain if they upgrade to 0.5.2  Can't there be a patch or script you can release to "fix" the table problem? 

In my case, my pool runs two nodes and a test server.  I will have to re-download for each server.  At this point, I'll probably just wait until the next release.

Right.. And that's one of the reasons why we did not release the server package, but just the client.
There is one comfort however, the new version uses websockets instead of http for peer connections so it downloads much faster.
I'll see what i can do but I cannot spend days on this when the handfull of nodes on the network can download a new blockchain in a matter of hours.

If it's any comfort this will likely not happen future.

FIMK Developer | GPG fingerprint: CEF2 7C39 43BE 6800 504E  71BC 7E87 A7B0 AC34 E2D5 | mofowallet.com | blog

Dirk Diggler #9 on: October 17, 2015, 02:17:10 PM

  • FIMK Staff
  • *****
  • Posts: 486
    • View Profile
    • Krypto Fin ry
@warmach

This "At this point, I'll probably just wait until the next release."

Is not a problem.

What you could also do when you dont want downtime is just run the client on your local machine, have it [automatically] download the blockchain from the decentralized p2p network and copy that to your servers. No downtime that way.
FIMK Developer | GPG fingerprint: CEF2 7C39 43BE 6800 504E  71BC 7E87 A7B0 AC34 E2D5 | mofowallet.com | blog

warmach #10 on: October 17, 2015, 03:27:22 PM

  • Senior Fimker
  • ***
  • Posts: 234
    • View Profile
Right.. And that's one of the reasons why we did not release the server package, but just the client.
There is one comfort however, the new version uses websockets instead of http for peer connections so it downloads much faster.
I'll see what i can do but I cannot spend days on this when the handfull of nodes on the network can download a new blockchain in a matter of hours.

I didn't realize that the download mechanism had changed.  I was expecting a day or so to download the blockchain. 

If it's any comfort this will likely not happen future.
No worries, I'm not trying to give you a hard time.
Warmach's Forging Pool
http://fim.warmach.info/pool/
May the forge be with you...

warmach #11 on: October 17, 2015, 03:29:50 PM

  • Senior Fimker
  • ***
  • Posts: 234
    • View Profile
@warmach

This "At this point, I'll probably just wait until the next release."

Is not a problem.

What you could also do when you dont want downtime is just run the client on your local machine, have it [automatically] download the blockchain from the decentralized p2p network and copy that to your servers. No downtime that way.

I had thought about that, but I wasn't sure if it would affect the internal tables of the server.  I modified the configuration of my FIM servers to hold more historical data so that my pool can still lookup blocks and transactions in the past (over 1440 blocks history).  I wasn't sure if those tables would be incorrect if I copied it from another machine.  I just didn't want to risk the pool server(s) data set.
Warmach's Forging Pool
http://fim.warmach.info/pool/
May the forge be with you...

Dirk Diggler #12 on: October 17, 2015, 04:11:33 PM

  • FIMK Staff
  • *****
  • Posts: 486
    • View Profile
    • Krypto Fin ry
I had thought about that, but I wasn't sure if it would affect the internal tables of the server.  I modified the configuration of my FIM servers to hold more historical data so that my pool can still lookup blocks and transactions in the past (over 1440 blocks history).  I wasn't sure if those tables would be incorrect if I copied it from another machine.  I just didn't want to risk the pool server(s) data set.

If you use those same settings when downloading the chain locally you'll effectively end up with the same blockchain.
So no loss there.
FIMK Developer | GPG fingerprint: CEF2 7C39 43BE 6800 504E  71BC 7E87 A7B0 AC34 E2D5 | mofowallet.com | blog

gaianhuuto #13 on: October 26, 2015, 08:40:29 AM

  • Grand Fimker
  • ****
  • Posts: 481
    • View Profile
I don't know if anyone else have noticed but in Lompsa 0.4.10 (and the previous version) when looking at 'balance leasing', the data of the block from which and to which the lessors balance is forging, is missing. I'm operating my pool manually and this data would be nice to have on this page :)
TurnTrips.poker - Ässät pöytään ja kryptovaluutat jakoon.

gaianhuuto #14 on: November 04, 2015, 04:44:04 AM

  • Grand Fimker
  • ****
  • Posts: 481
    • View Profile
Is there any ETA for the search function? Hasn't been functional in either the web or the downloadable wallet for a while now.
TurnTrips.poker - Ässät pöytään ja kryptovaluutat jakoon.