You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi @rwynn I'm new to Monstache, its a great tool....
Could you please clarify the order of execution regarding these golang functions for building monstache plugins:
My guess for the call order is : Pipeline (called once for each collection & finding documents based on some criteria) -> Filter (whether to continue processing further for indexing or drop based on doc field criteria) -> Map (transform doc before indexing) -> Process (Maybe log or modify existing doc for processing)
Please let me know if I'm right about this, I plan on writing a go plugin for resuming direct-read-namespaces from a given timestamp (got this idea from you while I was scrolling through the open and closed issues)
And another doubt, if I'm using the same go.mod file from the repo, to be precise same go version 1.19, why can't I directly mount the plugin.so built locally and supply it to the docker image via volume mounts? when I attempt to do this I'm unable to run the plugin with some _vprintf error but, if I build the plugin through the dockerfile, I'm able to run the plugin? Its like for each change in the plugin code, I have rebuild the entire docker image for monstache to be able to run the plugin, is there no other way to directly mount the plugin file to the docker image?
The text was updated successfully, but these errors were encountered:
Joey0538
changed the title
Order of monstache golang plugin functions execute
Order of monstache golang functions execution
Jan 14, 2024
Hi @rwynn I'm new to Monstache, its a great tool....
Could you please clarify the order of execution regarding these golang functions for building monstache plugins:
func Map(input *monstachemap.MapperPluginInput) (output *monstachemap.MapperPluginOutput, err error)
func Filter(input *monstachemap.MapperPluginInput) (keep bool, err error)
func Pipeline(ns string, changeStream bool) (stages []interface, err error)
func Process(input*monstachemap.ProcessPluginInput) error
My guess for the call order is : Pipeline (called once for each collection & finding documents based on some criteria) -> Filter (whether to continue processing further for indexing or drop based on doc field criteria) -> Map (transform doc before indexing) -> Process (Maybe log or modify existing doc for processing)
Please let me know if I'm right about this, I plan on writing a go plugin for resuming direct-read-namespaces from a given timestamp (got this idea from you while I was scrolling through the open and closed issues)
And another doubt, if I'm using the same go.mod file from the repo, to be precise same go version 1.19, why can't I directly mount the plugin.so built locally and supply it to the docker image via volume mounts? when I attempt to do this I'm unable to run the plugin with some
_vprintf error
but, if I build the plugin through the dockerfile, I'm able to run the plugin? Its like for each change in the plugin code, I have rebuild the entire docker image for monstache to be able to run the plugin, is there no other way to directly mount the plugin file to the docker image?The text was updated successfully, but these errors were encountered: