Skip to content

Commit 56ba843

Browse files
authored
Merge pull request #5 from datastax/feature/log4j-vulnerability-fix
Resolved log4j vulnerability
2 parents e9161ba + e4291fa commit 56ba843

File tree

11 files changed

+55
-69
lines changed

11 files changed

+55
-69
lines changed

.idea/runConfigurations.xml

Lines changed: 0 additions & 10 deletions
This file was deleted.

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,10 @@ Note: Above command also generates a log file `logfile_name.txt` to avoid log ou
4444
- Validation job will report differences as “ERRORS” in the log file as shown below
4545

4646
```
47-
22/02/16 12:41:15 ERROR DiffJobSession: Data is missing in Astra: e7cd5752-bc0d-4157-a80f-7523add8dbcd
48-
22/02/16 12:41:15 ERROR DiffJobSession: Data difference found - Key: 1 Data: (Index: 3 Source: [val-A, val-B] Astra: [val-A, val-B, val-C] )
47+
22/09/27 11:21:24 ERROR DiffJobSession: Data mismatch found - Key: ek-1 %% mn1 %% c1 %% true Data: (Index: 4 Source: 30 Astra: 20 )
48+
22/09/27 11:21:24 ERROR DiffJobSession: Corrected mismatch data in Astra: ek-1 %% mn1 %% c1 %% true
49+
22/09/27 11:21:24 ERROR DiffJobSession: Data is missing in Astra: ek-2 %% mn2 %% c2 %% true
50+
22/09/27 11:21:24 ERROR DiffJobSession: Corrected missing data in Astra: ek-2 %% mn2 %% c2 %% true
4951
```
5052

5153
- Please grep for all `ERROR` from the output log files to get the list of missing and mismatched records.

pom.xml

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
<groupId>datastax.astra.migrate</groupId>
55
<artifactId>cassandra-data-migrator</artifactId>
6-
<version>1.2</version>
6+
<version>1.3</version>
77
<packaging>jar</packaging>
88

99
<properties>
@@ -32,6 +32,12 @@
3232
<groupId>org.apache.spark</groupId>
3333
<artifactId>spark-core_${scala.main.version}</artifactId>
3434
<version>${spark.version}</version>
35+
<exclusions>
36+
<exclusion>
37+
<groupId>log4j</groupId>
38+
<artifactId>log4j</artifactId>
39+
</exclusion>
40+
</exclusions>
3541
</dependency>
3642
<dependency>
3743
<groupId>org.apache.spark</groupId>
@@ -42,13 +48,39 @@
4248
<groupId>org.apache.spark</groupId>
4349
<artifactId>spark-hive_${scala.main.version}</artifactId>
4450
<version>${spark.version}</version>
51+
<exclusions>
52+
<exclusion>
53+
<groupId>log4j</groupId>
54+
<artifactId>log4j</artifactId>
55+
</exclusion>
56+
<exclusion>
57+
<groupId>log4j</groupId>
58+
<artifactId>apache-log4j-extras</artifactId>
59+
</exclusion>
60+
</exclusions>
4561
</dependency>
4662
<dependency>
4763
<groupId>com.datastax.spark</groupId>
4864
<artifactId>spark-cassandra-connector_${scala.main.version}</artifactId>
4965
<version>${connector.version}</version>
5066
</dependency>
5167

68+
<dependency>
69+
<groupId>org.apache.logging.log4j</groupId>
70+
<artifactId>log4j-api</artifactId>
71+
<version>2.19.0</version>
72+
</dependency>
73+
<dependency>
74+
<groupId>org.apache.logging.log4j</groupId>
75+
<artifactId>log4j-core</artifactId>
76+
<version>2.19.0</version>
77+
</dependency>
78+
<dependency>
79+
<groupId>org.apache.logging.log4j</groupId>
80+
<artifactId>log4j-to-slf4j</artifactId>
81+
<version>2.19.0</version>
82+
</dependency>
83+
5284
<!-- Test Dependencies -->
5385
<dependency>
5486
<groupId>org.scalatest</groupId>

src/main/java/datastax/astra/migrate/AbstractJobSession.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
import com.datastax.oss.driver.api.core.cql.PreparedStatement;
66
import com.datastax.oss.driver.api.core.cql.Row;
77
import com.datastax.oss.driver.shaded.guava.common.util.concurrent.RateLimiter;
8-
import org.apache.log4j.Logger;
98
import org.apache.spark.SparkConf;
9+
import org.slf4j.Logger;
10+
import org.slf4j.LoggerFactory;
1011

1112
import java.util.ArrayList;
1213
import java.util.List;
@@ -15,7 +16,7 @@
1516

1617
public abstract class AbstractJobSession {
1718

18-
public static Logger logger = Logger.getLogger(AbstractJobSession.class);
19+
public Logger logger = LoggerFactory.getLogger(this.getClass().getName());
1920

2021
protected PreparedStatement sourceSelectStatement;
2122
protected String sourceSelectCondition;

src/main/java/datastax/astra/migrate/CopyJobSession.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import com.datastax.oss.driver.api.core.CqlSession;
44
import com.datastax.oss.driver.api.core.cql.*;
5-
import org.apache.log4j.Logger;
65
import org.apache.spark.SparkConf;
6+
import org.slf4j.Logger;
7+
import org.slf4j.LoggerFactory;
78

89
import java.math.BigInteger;
910
import java.util.ArrayList;
@@ -15,7 +16,7 @@
1516

1617
public class CopyJobSession extends AbstractJobSession {
1718

18-
public static Logger logger = Logger.getLogger(CopyJobSession.class);
19+
public Logger logger = LoggerFactory.getLogger(this.getClass().getName());
1920
private static CopyJobSession copyJobSession;
2021

2122
protected PreparedStatement astraInsertStatement;

src/main/java/datastax/astra/migrate/DiffJobSession.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,19 @@
44
import com.datastax.oss.driver.api.core.CqlSession;
55
import com.datastax.oss.driver.api.core.cql.ResultSet;
66
import com.datastax.oss.driver.api.core.cql.Row;
7-
import org.apache.log4j.Logger;
87
import org.apache.spark.SparkConf;
8+
import org.slf4j.Logger;
9+
import org.slf4j.LoggerFactory;
910

1011
import java.math.BigInteger;
11-
import java.util.ArrayList;
12-
import java.util.List;
1312
import java.util.concurrent.ForkJoinPool;
1413
import java.util.concurrent.atomic.AtomicLong;
1514
import java.util.stream.IntStream;
1615
import java.util.stream.StreamSupport;
1716

1817
public class DiffJobSession extends CopyJobSession {
1918

20-
public static Logger logger = Logger.getLogger(DiffJobSession.class);
19+
public Logger logger = LoggerFactory.getLogger(this.getClass().getName());
2120
private static DiffJobSession diffJobSession;
2221

2322
private AtomicLong readCounter = new AtomicLong(0);

src/main/java/datastax/astra/migrate/SplitPartitions.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package datastax.astra.migrate;
22

3-
import org.apache.log4j.Logger;
3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
45

56
import java.io.Serializable;
67
import java.math.BigInteger;
@@ -11,7 +12,7 @@
1112

1213
public class SplitPartitions {
1314

14-
public static Logger logger = Logger.getLogger(SplitPartitions.class);
15+
public static Logger logger = LoggerFactory.getLogger(SplitPartitions.class.getName());
1516
public final static Long MIN_PARTITION = Long.MIN_VALUE;
1617
public final static Long MAX_PARTITION = Long.MAX_VALUE;
1718

src/main/scala/datastax/astra/migrate/AbstractJob.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
package datastax.astra.migrate
22

33
import com.datastax.spark.connector.cql.CassandraConnector
4-
import org.apache.log4j.Logger
54
import org.apache.spark.sql.SparkSession
5+
import org.slf4j.LoggerFactory
66

77
import java.math.BigInteger
88
import java.lang.Long
99

1010
class AbstractJob extends App {
1111

12-
val abstractLogger = Logger.getLogger(this.getClass.getName)
12+
val abstractLogger = LoggerFactory.getLogger(this.getClass.getName)
1313
val spark = SparkSession.builder
1414
.appName("Datastax Data Validation")
1515
.getOrCreate()

src/main/scala/datastax/astra/migrate/CassUtil.scala

Lines changed: 0 additions & 40 deletions
This file was deleted.

src/main/scala/datastax/astra/migrate/DiffData.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package datastax.astra.migrate
22

33
import com.datastax.spark.connector.cql.CassandraConnector
4-
import org.apache.log4j.Logger
4+
import org.slf4j.LoggerFactory
55

66
import scala.collection.JavaConversions._
77

88
object DiffData extends AbstractJob {
99

10-
val logger = Logger.getLogger(this.getClass.getName)
10+
val logger = LoggerFactory.getLogger(this.getClass.getName)
1111
logger.info("Started Data Validation App")
1212

1313
diffTable(sourceConnection, destinationConnection)

0 commit comments

Comments
 (0)