Hello!

I can reproduce this problem, but then again, it does not seem to reproduce
on 2.7. Have you considered upgrading?

Regards,
-- 
Ilya Kasnacheev


ср, 16 янв. 2019 г. в 14:14, yangjiajun <[email protected]>:

> Hello.
>
> I do  test on a ignite 2.6 node with persistence enabled and get an
> exception:
>
>  Exception in thread "main" java.sql.BatchUpdateException: class
> org.apache.ignite.IgniteCheckedException: Data streamer has been closed.
>         at
>
> org.apache.ignite.internal.jdbc.thin.JdbcThinConnection$StreamState.readResponses(JdbcThinConnection.java:1017)
>         at java.lang.Thread.run(Unknown Source)
>
> Here is my test code:
>
> import java.sql.Connection;
> import java.sql.DriverManager;
> import java.sql.PreparedStatement;
> import java.sql.SQLException;
> import java.util.Properties;
>
> /**
>  * test insert data in streaming mode
>  * */
> public class InsertStreamingMode {
>
>         private static Connection conn;
>
>         public static void main(String[] args) throws Exception {
>
>                 initialize();
>
>                 close();
>         }
>
>         public static void close() throws Exception {
>                 conn.close();
>         }
>
>         public static void initialize() throws Exception {
>                 Class.forName("org.apache.ignite.IgniteJdbcThinDriver");
>                 final String dbUrl =
>
> "jdbc:ignite:thin://ip:port;lazy=true;skipReducerOnUpdate=true;replicatedOnly=true";
>                 final Properties props = new Properties();
>                 conn = DriverManager.getConnection(dbUrl, props);
>                 initData();
>                 overwriteData();
>         }
>
>         private static void initData() throws SQLException{
>
>                 long start=System.currentTimeMillis();
>                 conn.prepareStatement("SET STREAMING ON ALLOW_OVERWRITE
> ON").execute();
>
>                 String sql="insert INTO  city1(id,name,name1)
> VALUES(?,?,?)";
>                 PreparedStatement ps=conn.prepareStatement(sql);
>                 for(int i=0;i<1600000;i++){
>                         String s1=String.valueOf(Math.random());
>                         String s2=String.valueOf(Math.random());
>                         ps.setInt(1, i);
>                         ps.setString(2, s1);
>                         ps.setString(3, s2);
>                         ps.execute();
>                 }
>                 conn.prepareStatement("set streaming off").execute();
>                 long end=System.currentTimeMillis();
>                 System.out.println(end-start);
>         }
>
>         private static void overwriteData() throws SQLException{
>
>                 long start=System.currentTimeMillis();
>                 conn.prepareStatement("SET STREAMING ON ALLOW_OVERWRITE
> ON").execute();
>
>                 String sql="insert INTO  city1(id,name,name1)
> VALUES(?,?,?)";
>                 PreparedStatement ps=conn.prepareStatement(sql);
>                 for(int i=0;i<1600000;i++){
>                         String s1="test";
>                         String s2="test";
>                         ps.setInt(1, i);
>                         ps.setString(2, s1);
>                         ps.setString(3, s2);
>                         ps.execute();
>                 }
>                 conn.prepareStatement("set streaming off").execute();
>                 long end=System.currentTimeMillis();
>                 System.out.println(end-start);
>         }
> }
>
> Here is the table:
> CREATE TABLE city1(id LONG PRIMARY KEY, name VARCHAR,name1 VARCHAR) WITH
> "template=replicated"
>
> The exception occurs on overwriteData method.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to