1. Illegal operation on empty result set

Problem

Baza NetIIS-a može da postane korumpirana usled više razloga - restart servera, gubitak električne energije, problem sa hard diskom na kojem se nalazi baza ili slično. Kao posledica nekog od pobrojanih incidenata može da se dogodi da se baza zatekne u nekonzistentnom stanju.

  1. Jedan simptom koji može da se desi je kada se u catalina.out logu pojavi sledeća greška:
Caused by: java.sql.SQLException: Illegal operation on empty result set.

Sličan je simptom kod korišćenja klijentske aplikacije da korisnik ne može da se uloguje. Tada se u Java log-u tipično pojavi ista greška kao gore.

Rešenje

Rešenje je da se uloguje na mašinu gde je instaliran NetIIS/MERA preko SSH i sprovedu sledeći koraci

  1. Zaustaviti NetIIS/MERU (service tomcat stop);
  2. Pokrenuti skriptu prema uputstvu dole:

    cd /usr/local/tomcat/webapps/netiis/WEB-INF/classes/
    java -cp /usr/local/tomcat/lib/mysql-connector-java-5.1.5-bin.jar:/usr/local/tomcat/webapps/netiis/WEB-INF/lib/commons-logging-1.1.1.jar:/usr/local/tomcat/webapps/netiis/WEB-INF/lib/log4j-1.2.17.jar:. yu.ac.bg.rcub.netiis.test.TestSQL

    Broj 5.1.5 zameniti sa verzijom koja se zaista nalazi na sistemu;

  3. Ako se u izlazu skripte pojavio tekst „DB Corrupted“ pokrenuti skriptu još jednom;

  4. Pokrenuti NetIIS/MERU (service tomcat start).         


2. Table crashed and should be repaired

Problem

Drugi simptom koji može da se desi je kada se u catalina.out logu pojavi sledeća greška:

is marked as crashed and should be repaired. 
npr: ./netiis/rrd_cache is marked as crashed and should be repaired.

Rešenje

Rešenje je da se uradi repair baze. Provera da li je repair potreban se vrši sa:

mysqlcheck netiis
  1. Zaustaviti NetIIS/MERU (service tomcat stop)
  2. Operacija repair se pokreće sa:

    mysqlcheck --repair netiis 
  3. Pokrenuti NetIIS/MERU (service tomcat start)

Pažnja

Ukoliko je krah nastao zbog nedostatka prostora na disku osloboditi makar 1GB slobodnog prostora!

Pažnja

Ukoliko je krah nastao zbog problema sa rrd_cache tabelom oporavak može da potraje i nekoliko desetina sati u zavisnosti od veličine tabele. Razmotriti da se tabela napravi od nule u ovom slučaju.

Više informacija o rrd_cache ovde.