package generate_merge; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.HashMap; import java.util.Map; import java.util.Properties; import java.util.Random; import java.util.UUID; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import com.dao.AvailablePools; public class LoadTestDB { private static final String dbClassName = "com.mysql.jdbc.Driver"; private static final String dbClassRedshift = "com.amazon.redshift.jdbc4.Driver"; private static String host = null; private static String port = null; //private static final String CONNECTION = "jdbc:mysql://192.168.99.100:3306/"; // private static final String CONNECTION = "jdbc:mysql://10.0.0.119:3306/"; /*Tunneled MySQL */ // private static final String CONNECTION_RS = "jdbc:redshift://10.0.0.239:5439/myntra_dw"; private static final String USER = "ddp_ro"; private static final String PASSWORD = "Admin@123!"; private static final String RS_USER = "myntrapoc"; private static final String RS_PASSWORD = "5KuLi523T11k82G"; private static Integer file_count = 0; private static SimpleDateFormat load_date_time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); private static SimpleDateFormat load_date = new SimpleDateFormat("yyyyMMdd"); private static Runtime runtime = Runtime.getRuntime(); private static long startTimer() { return System.currentTimeMillis(); } private static long endTimer() { return System.currentTimeMillis(); } private static void worker(Integer file_count) throws Exception{ try{ Properties p = new Properties(); p.put("user", USER); p.put("password", PASSWORD); Properties p_rs = new Properties(); p_rs.put("user", RS_USER); p_rs.put("password", RS_PASSWORD); String sql_adhoc_query = "select query_txt from adhoc_query.adhoc_query_log where query_id % 12="+file_count+" and start_time >= '2016-11-16 00:00:00' and substring(query_id,11) >5000000 and query_txt not like '%_table_%' order by start_time limit 2000"; //Connection conn= DriverManager.getConnection(CONNECTION, p); Connection conn=null; try { conn= AvailablePools.ADHOC_QUERY_POOL.getConnection(); } catch(Exception e) { e.printStackTrace(); } Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery(sql_adhoc_query); Connection conn_rs=null; Statement stmt_rs=null; //Statement stmt_rs = null; while(rs.next()){ String sql = rs.getString("query_txt"); long start_time,end_time,run_time; start_time = startTimer(); try { end_time = endTimer(); run_time = (end_time - start_time)/1000 ; System.out.println("Inside Try"); System.out.println(sql); conn_rs = AvailablePools.REDSHIFT_QUERY_POOL.getConnection(); ResultSet result =conn_rs.createStatement().executeQuery(sql); start_time = startTimer(); end_time = endTimer(); end_time = endTimer(); run_time = (end_time - start_time)/1000 ; }catch(Exception e){ System.out.println("Thread is : "+file_count); System.out.println(e.toString()); if(conn_rs != null){ try{ conn_rs.close(); }catch(Exception connE){e.printStackTrace();} } e.printStackTrace(); } } //End While }catch(Exception e) { System.out.println("Thread is : "+file_count); e.printStackTrace(); } //Outer Catch }