Elastic Search Incremental River always fetching data

We are currently using ES 1.4. We are using incremental river to fetch delta change from DB.
We are using the below query:

	"type": "jdbc",
	"jdbc": {
		"url": null,
		"user": "userName",
		"password": "pwd",
		"sql": {
			"statement": "select * from table where SYS_EXTRACT_UTC(column1) >= ? OR SYS_EXTRACT_UTC(column2) >= ?"
		"parameter": ["$river.state.last_active_begin",
		"index": "indexName"
	"schedule": "0 */1 * ? * * *"

When we are looking in ES logs we are seeing the rows returned are always greater than 0 even though no changes are made in either "column1" or "column2".

Also can we use column strategy in this case.

Thank you for asking for help on my community plugin (JDBC river).

You can also open an issue at

Rivers are no longer maintained, and I urgently ask you to update to a more recent Elasticsearch version and use a different JDBC import tool, e.g. the JDBC importer (which is the successor of the outdated river implementation, but runs in a separate Java VM).

Thanks for your response. Updating ES version is not an immediate option for us. We are trying to find out what must be causing the issue.
Any help or reference would be of great help.

There are many inconsistencies/bugs in JDBC river, and the handling of parameter like $river.state.last_active_begin is one of them, fixed later in JDBC importer.

We have multiple types in our Index and each type has its own incremental river. For some we are getting 0 rows when incremental river runs but for some of the other types, few rows are always being returned even if no changes were made.
We are not able to find out why we are having this inconsistency.