0
votes

I was looking maxwell code,

https://github.com/zendesk/maxwell

https://github.com/zendesk/maxwell/blob/master/config.properties.example.

Could someone please clarify the difference between exclude and blacklist in maxwell filter configuration?

1
this might be better asked as an issue on the maxwell github. The config file you link to above includes a reference to the maxwell documentation for the filtering options maxwells-daemon.io/filtering. basically exclude is the recommended option for telling maxwell to ignore row updates for a particular table or database. However, exclude will still allow maxwell to keep track of the table schema for excluded tables and databases. Blacklist however tell maxwell not to track schema updates for those tables. - Kristian K.

1 Answers

0
votes

From the docs:

Note that once Maxwell has been running with a table or database marked as blacklisted, you must continue to run Maxwell with that table or database blacklisted or else Maxwell will halt. If you want to stop blacklisting a table or database, you will have to drop the maxwell schema first. Also note that this is the feature I most regret writing.

The practical difference between the two is that for blacklisted tables, maxwell ignores both the data changes as well as schema changes. For ignored tables, maxwell will ignore data but still track the schema, so that you can un-exclude them later.

Wherever possible, just use exclude. The main reason to blacklist a table if it has schema changes that maxwell is unable to understand, but that should be rare.