Background Image

FORUM

조회 수 20008 추천 수 0 댓글 7
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
connection 후 1천만 건을 insert 하였습니다. 테이블은 만든 상태이고여..
근데 insert 를 하다보면. 몇천건을 쓰다 몇만건을 쓰다
cannot communicate with the broker 라고 발생하면서 broker 하고 연결이 disconnect 됩니다.

문제점이 무엇인지요??

cubrid_broker.conf 에 keep_connection 도 on으로 변경 했는데 마찬가지거든요..

jdbc 를 사용합니다.

  public static void main(String[] args) throws Exception{
       Connection conn = null;
       PreparedStatement pstmt = null;
      
       try{
           Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
           conn = DriverManager.getConnection("jdbc:CUBRID:localhost:33000:test:::", "test", "testdb");

            int count = 0;
            while(count < 10000000){
                String sql = insert into test_tbl ( code, sex, name ) values ( ?, ?, ? )" ;
                pstmt = conn.prepareStatement(sql);
                pstmt.setString(1, ""+System.nanoTime());
                pstmt.setInt(2, 1);
                pstmt.setBytes(3, "11111".getBytes());

                int row = pstmt.executeUpdate();

                if ( row > 0 ){
                    conn.commit();
                    count++;
                }
             }

            stmt.close();
            conn.close();

            } catch ( SQLException e ) {
               System.err.println(e.getMessage());
            } catch ( Exception e ) {
               System.err.println(e.getMessage());
            } finally {
                if ( conn != null ) conn.close();
            }
     }

  • ?
    손승일 2009.09.29 02:00

    CUBRID 상세 버전을 알려 주시기 바랍니다.
    내부에서 현재 버전인 2008 R2.0에서 테스트 한 결과 30만건이 들어 가는 동안에도 에러가 발생하지 않고 있습니다.
    broker 설정은 디폴트로 설정된 상태 그대로 사용하였습니다.
    참고로 아래는 제가 테스트한 소스입니다. 테이블은 create table test_tbl(code varchar(50), sex int, name bit varying(20));으로 생성했습니다. 테스트 하신 내용과 다른 부분이 있으시면 알려 주시기 바랍니다.
    import  java.sql.*;

    public class INSERT {

    public static void main(String[] args) throws Exception{
           Connection conn = null;
           PreparedStatement pstmt = null;

           try{
               Class.forName("cubrid.jdbc.driver.CUBRIDDriver");
               conn = DriverManager.getConnection("jdbc:CUBRID:localhost:36000:demodb:::", "", "");

                int count = 0;
                while(count < 10000000){
                    String sql = "insert into test_tbl ( code, sex, name ) values ( ?, ?, ? )" ;
                    pstmt = conn.prepareStatement(sql);
                    pstmt.setString(1, ""+System.nanoTime());
                    pstmt.setInt(2, 1);
                    pstmt.setBytes(3, "11111".getBytes());

                    int row = pstmt.executeUpdate();

                    if ( row > 0 ){
                        conn.commit();
                        count++;
                    }
                 }

                pstmt.close();
                conn.close();

                } catch ( SQLException e ) {
                   System.err.println(e.getMessage());
                } catch ( Exception e ) {
                   System.err.println(e.getMessage());
                } finally {
                    if ( conn != null ) conn.close();
                }
         }
    }


  • ?
    차가워여 2009.09.29 03:09
    code varchar(30), sex int, name bit varying(20) 으로 하였습니다.
    버젼은 2008 R2.0 을 사용하였습니다. 자바 complier 버젼은 6.0을 사용 하였고요. 처음에 name 값을 char에서 bit varying 으로 바꾸어도 똑같네여...어쩔때는 20만 건 정도 쓰다가 Exception 이 날때도 있고 1만 건 쓰다가 오류 날때도 있네여... cubrid_broker.conf 파일은 디폴트 상태입니다.
  • ?
    손승일 2009.09.30 03:48
    내부 테스트 결과 300만건 이상 처리되는 동안에도 에러가 발생하지 않고 있습니다.
    에러 내용을 좀더 상세히 알아보기 위해 System.err.println(e.getMessage());을 e.printStackTrace();로 변경해서 결과를 알려주시기 바랍니다.
    테스트 환경이 동일한 장비에서 DB서버와 java 프로그램이 함께 작동하는 지 아니면 별개의 서버에서 리모트로 접속하는지도 알려 주세요.

  • ?
    차가워여 2009.10.01 21:05
    cubrid.jdbc.driver.CUBRIDException: Cannot communicate with the broker
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:674)
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:834)
     at cubrid.jdbc.driver.CUBRIDConnection.prepareStatement(CUBRIDConnection.java:135)

    이렇게 오류가 뜹니다.
  • ?
    2009.10.06 01:13
    위 덧글에 몇가지 추가 확인 요청드렸는데 답변을 안주셨네요. 확인 부탁드립니다.
    더불어 재현을 위해 조금이라도 특이한 사항이 있으시면 알려 주시기 바랍니다. 
    DB가 운영되는 시스템의 메모리 사양, 함께 기동되고 있는 프로그램 등.
    또한 가능하면 시스템 재부팅 후 DB서버만 기동된 상태에서의 확인도 부탁드립니다.
  • ?
    차가워여 2009.10.06 23:35
    cubrid.jdbc.driver.CUBRIDException: Cannot communicate with the broker
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:674)
     at cubrid.jdbc.driver.CUBRIDConnection.prepare(CUBRIDConnection.java:834)
     at cubrid.jdbc.driver.CUBRIDConnection.prepareStatement(CUBRIDConnection.java:135)

    printStackTrace() 결과는 위에 상기 하였고여. 따로 리모트연결은 하지 않고 CUBRID Manager Client와 이클립스에서 소스 설명 했던 부분만 올린 상태에서 실행 했을 때의 결과 입니다. 시스템 재부팅후에 결과도 마찬가지 입니다. CONFIG쪽은 처음 CUBRID설치때와 똑같고요..
  • ?
    손승일 2009.10.08 03:16
    저희쪽에서는 여전히 재현이 안 되고 있습니다.
    혹시 다른 장비가 있으시면 동일한 테스트를 다른 장비에서 수행 보시고 결과를 알려주시기 바랍니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 CUBRID 사용자를 위한 DBeaver 도구 출시 안내 admin 2024.04.23 24
공지 SQLGate for CUBRID 영구 무료 라이선스 제공 file admin 2020.04.09 4454
3911 varchar의 최대길이가 어떻게 되나요? 2 미스트 2009.09.07 25203
3910 HA 구성에서 Manager로 대량등록(데이터 올리기) 확인 부탁드립니다... 5 반짝이 2011.05.19 25095
3909 mssql2005 --> cubrid 로 마이그레이션 오류 답변 부탁 드립니다. 2 Philip Park 2010.01.14 24788
3908 cubrid 설치후의 접속정보(유저ID/password)에 대해서 4 DiaBlue 2012.05.18 24694
3907 CUBRID 2008 R4.3과 PHP 연동 문제 5 sinorix 2013.03.05 24681
3906 오라클의 Aggregation Function(집합 함수) 관련 문의 2 샤방석이 2013.11.14 24635
3905 HA구성에서 백업시 보관 로그 제거(lgar) 관련 문의드립니다. 2 반짝이 2012.01.09 24631
3904 Cubrid에 iBATIS를 붙이고 있는중인데요... 2 미야프 2010.05.04 24435
3903 procedure 내 내부 커넥션 4 벅지 2009.02.27 24425
3902 4.0 HA ha_db_list 설정 관련 질문드립니다. 7 반짝이 2011.07.08 24401
3901 Windows 7 64bit에서 ODBC Driver가 등록되지 않습니다. 2 일수니 2011.03.29 24299
3900 mysql의 sql_calc_found_rows 에 대응되는 큐브리드 명령이 있나요? 3 차오이 2009.12.07 24254
3899 DB에 BLOB 저장 관련입니다. 2 안녕하세요 2011.10.18 24213
3898 HA관련 추가 문제 답변부탁립니다... 3 file 반짝이 2011.12.29 24163
3897 [급]Cubrid메니저에서 Unlod 후 load시 오류 3 file 별솔아범 2011.07.15 23906
3896 테이블 생성시 PRIMARY KEY 2개일때 오류 3 서영신 2011.11.23 23816
3895 broker서버가 시작되지 않습니다.. 2 platanus 2009.03.21 23743
3894 oracle에 count(*) over() 쿼리를 대채할 쿼리가 있을까요? 2 라분 2012.01.26 23654
3893 inner join update 질문 4 장비맨 2009.04.24 23559
3892 flex + cubrid + LCDS 질문요!! 시난님 부탁해요! ㅋㅋ 3 USW 2009.05.28 23408
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 200 Next
/ 200

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales