SQLinfo.ru - Все о MySQL Webew.ru: теория и практика веб-технологий

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 27.01.2010 12:06:25

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

С этой проблемкой тружусь уже неделю((((
В трех словах...есть два чекбокса, при нажатии на экран выводится 5 соединенных точек-объектов, значения кот берутся из БД.
У объекта №1 есть значения в БД. И при его активации все норм выводит и без ошибок. А второй, только созданный. При его активации постоянно выскакивает такая ошибка

Got error 134 from storage engine
org.hibernate.exception.GenericJDBCException: could not execute query

...и еще длинный список

Query qr;
dbsession = HibernateUtil.getSession();
dbsession.beginTransaction();
List <Gpsdata> ldata;
String sql;
if (dfrom == null)
{
sql = "from kodexdbtables.Gpsdata as g where g.id.did= ? and g.satellite!=0 order by g.dataTimeChange desc";
qr = dbsession.createQuery(sql);
qr.setInteger(0, obj.getDid());
qr.setMaxResults(20);
qr.setReadOnly(true);
ldata = qr.list(); // ругается на эту строку org.hibernate.exception.GenericJDBCException: could not execute query
}
if (ldata == null) {
result = -1;
}
else{
data.addAll(ldata);
result = 1;
}

Вопрос в том, как сделать, чтобы эта ошибка не выводилась.

Неактивен

 

#2 27.01.2010 15:39:42

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

Табличка побилась? REPAIR TABLE должен спасти. JDBC не при чем.

Неактивен

 

#3 28.01.2010 11:30:36

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

paulus написал:

Табличка побилась? REPAIR TABLE должен спасти. JDBC не при чем.

я тоже так думал..это как RAPAIR TABLE kodexdbtables.Gpsdata
читал, что из-за этой операции могут потеряться некоторые данные..

есть вариант что составлен некорректный запрос...но тогда почему активный объект №1 не выводит ошибки

Неактивен

 

#4 28.01.2010 12:02:40

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

проблема решена! ))

таки да, таблица крашнутая была. сделал(все-таки решился, боялся тк данные за пол года) REPAIR TABLE и алес гут.  Спасибо! wink

Неактивен

 

#5 28.01.2010 16:24:24

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

тут еще одна проблемка... идет сильная утечка памяти..думаю из-за обращения к БД каждые 5 сек (типа  OutOfMemoryError)
за сутки из 2 Гигов оперативы сервера остается свободной около 100-300 МБ.

Может подскажите, какие причины и как ее ловить.

Неактивен

 

#6 28.01.2010 17:29:53

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

Течет Ваше приложение или MySQL? Если Ваше приложение, то пытайтесь ограничить
виртуальную машину по памяти сверху, будет приходить сборщик чаще и вычищать
Ваши соединения. Ну или используйте фиксированное количество persistent соединений.
Второе, наверное, даже лучше.

Неактивен

 

#7 30.01.2010 20:44:56

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

еще выдает
PWC2768: IOException while loading persisted sessions: java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=ff80818126801cd80126801ce3590000, name=null]
java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=ff80818126801cd80126801ce3590000, name=null]
at org.hibernate.impl.SessionFactoryImpl.deserialize( SessionFactoryImpl.java:1061)
at org.hibernate.impl.SessionImpl.readObject(SessionI mpl.java:1892)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
at org.apache.catalina.session.StandardSession.readRe mainingObject(StandardSession.java:1822)
at org.apache.catalina.session.StandardSession.readOb ject(StandardSession.java:1756)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
at org.apache.catalina.session.StandardSession.deseri alize(StandardSession.java:1087)
at org.apache.catalina.session.StandardManager.doLoad (StandardManager.java:455)
at org.apache.catalina.session.StandardManager.load(S tandardManager.java:372)
at org.apache.catalina.session.StandardManager.start( StandardManager.java:764)
at org.apache.catalina.core.StandardContext.start(Sta ndardContext.java:5130)
at com.sun.enterprise.web.WebModule.start(WebModule.j ava:326)
at com.sun.enterprise.web.LifecycleStarter.doRun(Life cycleStarter.java:58)
at com.sun.appserv.management.util.misc.RunnableBase. runSync(RunnableBase.java:304)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
PWC2773: Exception loading sessions from persistent storage
java.io.InvalidObjectException: could not resolve session factory during session deserialization [uuid=ff80818126801cd80126801ce3590000, name=null]
at org.hibernate.impl.SessionFactoryImpl.deserialize( SessionFactoryImpl.java:1061)
at org.hibernate.impl.SessionImpl.readObject(SessionI mpl.java:1892)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at java.io.ObjectStreamClass.invokeReadObject(ObjectS treamClass.java:974)
at java.io.ObjectInputStream.readSerialData(ObjectInp utStream.java:1849)
at java.io.ObjectInputStream.readOrdinaryObject(Objec tInputStream.java:1753)
at java.io.ObjectInputStream.readObject0(ObjectInputS tream.java:1329)
at java.io.ObjectInputStream.readObject(ObjectInputSt ream.java:351)
все не поместилось
at java.util.concurrent.FutureTask$Sync.innerRun(Futu reTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.jav a:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)

Неактивен

 

#8 30.01.2010 20:53:21

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

но это при загрузке приложения..а потом вроде все норм.. только когда запускаю с разных машин много сеансов + на каждой машине вхожу под темиже юзерами...бывает выбивает ошибку 500 description the server encoutered an internal error () that prevented it from fulling this request.
и потом из этой машины зайти не  могу..только спасает перезагрузка сервера (glassfish)

Неактивен

 

#9 01.02.2010 13:24:26

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

эээ... судя по всему — приложение. Используйте приложения, которые не текут smile

Неактивен

 

#10 01.02.2010 18:20:58

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

приложение" - это Вы имеете ввиду NetBeans или разработанное

Неактивен

 

#11 01.02.2010 18:29:17

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

Ну, то, которое течет smile Библиотеки иногда текут, конечно, но это не так часто происходит.

Неактивен

 

#12 02.02.2010 14:02:55

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

не подскажете как сделать, чтобы garbage collector быстрее проходил

Неактивен

 

#13 02.02.2010 16:04:52

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

Подозреваю, что какая-то скрытая ручка есть, но о ней если кто и знает — то
разработчики Java. Попробуйте спросить на форуме, посвященному Java. К MySQL
этот вопрос отношения уже не имеет smile

Неактивен

 

#14 02.02.2010 20:12:50

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

согласен.
тогда вопрос по hibernate+mysql...может ли быть так, что если открыть надолго сессию для работы с lazy fetch, рано или поздно память загадят тысячи хибернейт прокси объектов.

утечка памяти дает о себе знать.. знать бы откуда

Неактивен

 

#15 02.02.2010 21:12:39

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

Я не знаю столько умных слов... наверное, может smile

Неактивен

 

#16 02.02.2010 21:34:07

VorteP
Участник
Зарегистрирован: 27.01.2010
Сообщений: 10

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

наверное вопрос не в тему... спасибо что откликнулись

Неактивен

 

#17 02.02.2010 23:24:29

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6756

Re: Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

Ну правда не знаю. Зависит от библиотеки, но в любом случае это не MySQL.
Я правда не знаю, как определить, что течет в Java-приложении. Наверняка
есть какие-то способы. Может быть, valgrind умеет с ней работать, может быть,
есть какие-то нативные средства.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson