Bugs item #1765919, was opened at 2007-08-02 10:16
Message generated for change (Comment added) made by mr-meltdown
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1765919&group_id=56967

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: SQL/JDBC
Group: (zombie: Clients 1.18)
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Sjoerd Mullender (sjoerd)
Assigned to: Fabian (mr-meltdown)
Summary: API:Incomplete block read from stream (Mserver still alive?)

Initial Comment:
From a message sent directly to Peter:

I ran tests with 4.18.0 version of the database on windows platform using the 
MonetDB4-XQuery-i686-0.18.2.msi install. I work on a bi-processor machine under 
Windows XP.

Problems with the JDBC interface

Opening documents 
If I try to open a document (giving the doc (“documentName”) instruction) which 
is bigger than 150ko I get an error most of the time (60%): 
Incomplete block read from stream (Mserver still alive?)

I ran a code from the tutorial : 
public class testMonet  {
        public static void main(String[] args) {
                int errors = 0;
                for(int k=0;k<100;k++){
                        System.out.println(k);
                try {
                        Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
                } catch (Exception e1) {
                        e1.printStackTrace();
                }
        try {
                
                
                Connection myConnection = 
DriverManager.getConnection("jdbc:monetdb://localhost:50000/database?language=xquery","monetdb",
 "monetdb");
                Statement myStatement = myConnection.createStatement();
                ResultSet myResultSet = 
myStatement.executeQuery("doc(\"new\")");
                
                myResultSet.next();
                String buffer = myResultSet.getString(1);
                
                myConnection.close();
                System.out.println("ok");
        
        } catch (SQLException e) {
                System.out.println("error");
                errors ++;
        }
                }
                System.out.println("Errors "+errors);
        }

}

I had the same problems with more complex queries returning too big results.
It seems to be a thread problem. The success rate of opening documents is even 
under 1% for documents which are bigger than 10megs.


----------------------------------------------------------------------

>Comment By: Fabian (mr-meltdown)
Date: 2007-11-16 13:12

Message:
Logged In: YES 
user_id=963970
Originator: NO

indeed, this has been fixed in Steadfast_p13

----------------------------------------------------------------------

Comment By: Martin Kersten (mlkersten)
Date: 2007-11-16 13:09

Message:
Logged In: YES 
user_id=490798
Originator: NO

Has this been solved with your latest patch.

----------------------------------------------------------------------

Comment By: Fabian (mr-meltdown)
Date: 2007-11-11 01:26

Message:
Logged In: YES 
user_id=963970
Originator: NO

this is a windows issue that I cannot debug due to the lack of access to
such machine.

----------------------------------------------------------------------

Comment By: Martin Kersten (mlkersten)
Date: 2007-11-10 23:31

Message:
Logged In: YES 
user_id=490798
Originator: NO

Is this still an issue?

----------------------------------------------------------------------

Comment By: loicsg (loicsg)
Date: 2007-08-03 11:52

Message:
Logged In: YES 
user_id=1843262
Originator: NO

It does the same with the JdbcClient.


----------------------------------------------------------------------

Comment By: Fabian (mr-meltdown)
Date: 2007-08-03 11:32

Message:
Logged In: YES 
user_id=963970
Originator: NO

I just shredded a doc of 2.9MB's
($XQUERY_DIR/tests/BugTracker/Tests/predicate_selects_too_few_nodes.SF-1636588.xml)
and used the query 'doc("big.xml")' in JdbcClient -lxquery with no
problem.

Can you try if your document also results in a problem when using
JdbcClient?  If it does there too, then maybe this is a windows specific
issue.  I expect JdbcClient not to work for you either, since it basically
does the same.

----------------------------------------------------------------------

Comment By: loicsg (loicsg)
Date: 2007-08-03 11:28

Message:
Logged In: YES 
user_id=1843262
Originator: NO

Yes, even with a document with a very simple structure I have the same
problem.
Here is the Java  complete StackTrace if it can be any help : 
java.sql.SQLException: Incomplete block read from stream (Mserver still
alive?)
        at
nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.executeQuery(MonetConnection.java:2049)
        at
nl.cwi.monetdb.jdbc.MonetConnection$ResponseList.processQuery(MonetConnection.java:1796)
        at
nl.cwi.monetdb.jdbc.MonetStatement.internalExecute(MonetStatement.java:371)
        at nl.cwi.monetdb.jdbc.MonetStatement.execute(MonetStatement.java:340)
        at
nl.cwi.monetdb.jdbc.MonetStatement.executeQuery(MonetStatement.java:404)
        at testMonet.main(testMonet.java:34)

----------------------------------------------------------------------

Comment By: Fabian (mr-meltdown)
Date: 2007-08-03 11:15

Message:
Logged In: YES 
user_id=963970
Originator: NO

Ok, I need try to reproduce this myself.  Just generating a document >
150KB and using the query doc("xxx") is enough, right?

----------------------------------------------------------------------

Comment By: loicsg (loicsg)
Date: 2007-08-03 11:08

Message:
Logged In: YES 
user_id=1843262
Originator: NO

The part of the document that is received doesn't look like a complete
part since it is cut in the middle of a tag.
I don't know if it can help but as I run tests, I got a MonetDB server
opened and when the crash happens it sends a message : 
xquery_server: client X could not flush prompt (X between 1 and 15..)

----------------------------------------------------------------------

Comment By: Fabian (mr-meltdown)
Date: 2007-08-03 10:36

Message:
Logged In: YES 
user_id=963970
Originator: NO

thanks, it looks like it gets an EOF before it can read the promised 8190
bytes, which feels like a problem on the server side of the connection to
me.

A second weird thing here is that the block isn't marked as "final".  Does
the part of the document that is received look like a complete part?  Or is
it cut off?

----------------------------------------------------------------------

Comment By: loicsg (loicsg)
Date: 2007-08-03 10:27

Message:
Logged In: YES 
user_id=1843262
Originator: NO

Here are parts of the logfile I get using the debug mode : 

RD 1186127660312: read new block: 8190 bytes
RD 1186127660312: the following incomplete block was received:
RX 1186127660312: (then I have a part of my document which is not always
the same part)



----------------------------------------------------------------------

Comment By: Fabian (mr-meltdown)
Date: 2007-08-02 10:21

Message:
Logged In: YES 
user_id=963970
Originator: NO

I would like to have a (tail of a) JDBC logfile of such "crash" occurring.
 You can obtain it by using the following connection creation statement:

DriverManager.getConnection("jdbc:monetdb://localhost:50000/database?language=xquery&debug=true","monetdb",
"monetdb");

it will generate a monet_4987427864287323.log file located in the current
working directory.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1765919&group_id=56967

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs

Reply via email to