[jira] [Created] (MINIFICPP-1284) TailFile: Add Record Limit
Andrew Christianson created MINIFICPP-1284: -- Summary: TailFile: Add Record Limit Key: MINIFICPP-1284 URL: https://issues.apache.org/jira/browse/MINIFICPP-1284 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson {{TailFile}} currently will create an unlimited number of new FlowFiles per invocation of {{onTrigger}}. This can quickly fill up queues/repositories within minificpp. To allow operators to control the rate that data is ingested into minificpp, we need a {{Record Limit}} property which will limit the number of new FlowFiles created per tailed file per {{onTrigger}} invocation. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Resolved] (MINIFICPP-1282) BUILD_BYPRODUCTS incorrectly set to lib64
[ https://issues.apache.org/jira/browse/MINIFICPP-1282?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-1282. Resolution: Fixed > BUILD_BYPRODUCTS incorrectly set to lib64 > - > > Key: MINIFICPP-1282 > URL: https://issues.apache.org/jira/browse/MINIFICPP-1282 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > Time Spent: 40m > Remaining Estimate: 0h > > On updated arch linux as of 2020-07-07, getting the following build error: > {code:java} > make[2]: *** No rule to make target > 'thirdparty/rocksdb-install/lib64/librocksdb.a', needed by 'main/minifi'. > Stop. > {code} > Looking at the directory, the library was built, but its in {{lib/}}: > {noformat} > $ ls thirdparty/rocksdb-install/lib64/ > ls: cannot access 'thirdparty/rocksdb-install/lib64/': No such file or > directory > $ ls thirdparty/rocksdb-install/lib/ > cmake librocksdb.a > {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Created] (MINIFICPP-1282) BUILD_BYPRODUCTS incorrectly set to lib64
Andrew Christianson created MINIFICPP-1282: -- Summary: BUILD_BYPRODUCTS incorrectly set to lib64 Key: MINIFICPP-1282 URL: https://issues.apache.org/jira/browse/MINIFICPP-1282 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson On updated arch linux as of 2020-07-07, getting the following build error: {code:java} make[2]: *** No rule to make target 'thirdparty/rocksdb-install/lib64/librocksdb.a', needed by 'main/minifi'. Stop. {code} Looking at the directory, the library was built, but its in {{lib/}}: {noformat} $ ls thirdparty/rocksdb-install/lib64/ ls: cannot access 'thirdparty/rocksdb-install/lib64/': No such file or directory $ ls thirdparty/rocksdb-install/lib/ cmake librocksdb.a {noformat} -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (MINIFICPP-990) Segfault on SIGINT after shutdown initiated
[ https://issues.apache.org/jira/browse/MINIFICPP-990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16897258#comment-16897258 ] Andrew Christianson commented on MINIFICPP-990: --- Due to the nature of the bug (shutdown signal handling) it is kind of tricky to debug, but I think this is the relevant gdb/backtrace info: {noformat} Thread 1 "minifi" received signal SIGSEGV, Segmentation fault. __new_sem_post (sem=0x77ffb000) at sem_post.c:36 36 sem_post.c: No such file or directory. (gdb) bt #0 __new_sem_post (sem=0x77ffb000) at sem_post.c:36 #1 #2 0x771c868d in syscall () from /usr/lib64/haswell/libc.so.6 #3 0x774e7a5d in std::__atomic_futex_unsigned_base::_M_futex_wait_until (this=this@entry=0x561eeeb0, __addr=__addr@entry=0x561eeeb0, __val=2147483648, __has_timeout=__has_timeout@entry=true, __s=..., __s@entry=..., __ns=__ns@entry=...) at ../../../../../gcc-9.1.0/libstdc++-v3/src/c++11/futex.cc:76 #4 0x558659ba in std::__atomic_futex_unsigned<2147483648u>::_M_load_and_test_until (__ns=..., __s=..., __has_timeout=true, __mo=std::memory_order_acquire, __equal=true, __operand=1, __assumed=, this=0x561eeeb0) at /usr/include/c++/9/bits/atomic_base.h:569 #5 std::__atomic_futex_unsigned<2147483648u>::_M_load_and_test_until_impl > > (__atime=..., __mo=std::memory_order_acquire, __equal=true, __operand=1, __assumed=, this=0x561eeeb0) at /usr/include/c++/9/bits/atomic_futex.h:140 #6 std::__atomic_futex_unsigned<2147483648u>::_M_load_when_equal_until > > (__atime=..., __mo=std::memory_order_acquire, __val=1, this=0x561eeeb0) at /usr/include/c++/9/bits/atomic_futex.h:199 #7 std::__future_base::_State_baseV2::wait_until > > (__abs=..., this=0x561eeea0) at /usr/include/c++/9/future:380 #8 std::__basic_future::wait_until > > (__abs=..., this=) at /usr/include/c++/9/future:708 #9 org::apache::nifi::minifi::FlowController::waitUnload (this=0x561a6200, timeToWaitMs=) at /home/achristianson/workspace/nifi-minifi-cpp-experimental/libminifi/src/FlowController.cpp:272 #10 0x55773421 in main (argc=, argv=) at /usr/include/c++/9/bits/shared_ptr_base.h:1020 {noformat} Seems to crash in this bit from FlowController.cpp: {noformat} if (std::future_status::ready == unload_task.wait_until(wait_time)) { running_ = false; }{noformat} > Segfault on SIGINT after shutdown initiated > > > Key: MINIFICPP-990 > URL: https://issues.apache.org/jira/browse/MINIFICPP-990 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Priority: Major > > If I send a SIGINT (ctrl-c) to MiNiFI, MiNiFi begins shutdown. If I send > another SIGINT while that shutdown is in progress, MiNiFi crashes with a > segfault. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Updated] (MINIFICPP-990) Segfault on SIGINT after shutdown initiated
[ https://issues.apache.org/jira/browse/MINIFICPP-990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson updated MINIFICPP-990: -- Summary: Segfault on SIGINT after shutdown initiated (was: Segfault on SIGHUP after shutdown initiated ) > Segfault on SIGINT after shutdown initiated > > > Key: MINIFICPP-990 > URL: https://issues.apache.org/jira/browse/MINIFICPP-990 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Priority: Major > > If I send a SIGHUP (ctrl-c) to MiNiFI, MiNiFi begins shutdown. If I send > another SIGHUP while that shutdown is in progress, MiNiFi crashes with a > segfault. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Updated] (MINIFICPP-990) Segfault on SIGINT after shutdown initiated
[ https://issues.apache.org/jira/browse/MINIFICPP-990?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson updated MINIFICPP-990: -- Description: If I send a SIGINT (ctrl-c) to MiNiFI, MiNiFi begins shutdown. If I send another SIGINT while that shutdown is in progress, MiNiFi crashes with a segfault. (was: If I send a SIGHUP (ctrl-c) to MiNiFI, MiNiFi begins shutdown. If I send another SIGHUP while that shutdown is in progress, MiNiFi crashes with a segfault.) > Segfault on SIGINT after shutdown initiated > > > Key: MINIFICPP-990 > URL: https://issues.apache.org/jira/browse/MINIFICPP-990 > Project: Apache NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Priority: Major > > If I send a SIGINT (ctrl-c) to MiNiFI, MiNiFi begins shutdown. If I send > another SIGINT while that shutdown is in progress, MiNiFi crashes with a > segfault. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (MINIFICPP-990) Segfault on SIGHUP after shutdown initiated
Andrew Christianson created MINIFICPP-990: - Summary: Segfault on SIGHUP after shutdown initiated Key: MINIFICPP-990 URL: https://issues.apache.org/jira/browse/MINIFICPP-990 Project: Apache NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson If I send a SIGHUP (ctrl-c) to MiNiFI, MiNiFi begins shutdown. If I send another SIGHUP while that shutdown is in progress, MiNiFi crashes with a segfault. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (NIFI-6511) Specify remote protocol for predictive analytics
Andrew Christianson created NIFI-6511: - Summary: Specify remote protocol for predictive analytics Key: NIFI-6511 URL: https://issues.apache.org/jira/browse/NIFI-6511 Project: Apache NiFi Issue Type: Sub-task Reporter: Andrew Christianson In order to allow more resource-demanding analytics to be run outside of the main NiFi process, we need to define a protocol which allows NiFi to send analytic input data (e.g. NiFi metrics) and receive predictions/answers/useful values back. Because the amount of input data to models may be large, the protocol needs to be lightweight and efficient. -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (NIFI-6510) Predictive Analytics for NiFi Metrics
Andrew Christianson created NIFI-6510: - Summary: Predictive Analytics for NiFi Metrics Key: NIFI-6510 URL: https://issues.apache.org/jira/browse/NIFI-6510 Project: Apache NiFi Issue Type: Improvement Reporter: Andrew Christianson >From Yolanda's email to the list: {noformat} Currently NiFi has lots of metrics available for areas including jvm and flow component usage (via component status) as well as provenance data which NiFi makes available either through the UI or reporting tasks (for consumption by other systems). Past discussions in the community cite users shipping this data to applications such as Prometheus, ELK stacks, or Ambari metrics for further analysis in order to capture/review performance issues, detect anomalies, and send alerts or notifications. These systems are efficient in capturing and helping to analyze these metrics however it requires customization work and knowledge of NiFi operations to provide meaningful analytics within a flow context. In speaking with Matt Burgess and Andy Christianson on this topic we feel that there is an opportunity to introduce an analytics framework that could provide users reasonable predictions on key performance indicators for flows, such as back pressure and flow rate, to help administrators improve operational management of NiFi clusters. This framework could offer several key features: - Provide a flexible internal analytics engine and model api which supports the addition of or enhancement to onboard models - Support integration of remote or cloud based ML models - Support both traditional and online (incremental) learning methods - Provide support for model caching (perhaps later inclusion into a model repository or registry) - UI enhancements to display prediction information either in existing summary data, new data visualizations, or directly within the flow/canvas (where applicable) For an initial target we thought that back pressure prediction would be a good starting point for this initiative, given that back pressure detection is a key indicator of flow performance and many of the metrics currently available would provide enough data points to create a reasonable performing model. We have some ideas on how this could be achieved however we wanted to discuss this more with the community to get thoughts about tackling this work, especially if there are specific use cases or other factors that should be considered.{noformat} -- This message was sent by Atlassian JIRA (v7.6.14#76016)
[jira] [Created] (MINIFICPP-929) Create memory map interface to flow files in ProcessSession/ContentRepository
Andrew Christianson created MINIFICPP-929: - Summary: Create memory map interface to flow files in ProcessSession/ContentRepository Key: MINIFICPP-929 URL: https://issues.apache.org/jira/browse/MINIFICPP-929 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Currently, MiNiFi - C++ only support stream-oriented i/o to FlowFile payloads. This can limit performance in cases where in-place access to the payload is desirable. In cases where data can be accessed randomly and in-place, a significant speedup can be realized by mapping the payload into system memory address space. This is natively supported at the kernel level in Linux, MacOS, and Windows via the mmap() interface on files. Other repositories, such as the VolatileRepository, already store the entire payload in memory, so it is natural to pass through this memory block as if it were a memory-mapped file. While the DatabaseContentRepostory does not appear to natively support a memory map interface, accesses via an emulated memory-map interface should be possible with no performance degradation with respect to a full read via the streaming interface. Cases where in-place, random access is beneficial include, but are not limited to: * in-place parsing of JSON (e.g. RapidJSON supports parsing in-place, at least for strings). * access of payload via protocol buffers * random access of large files on disk, where it would otherwise require many seek() and read() syscalls The interface should be accessible by processors via a mmap() call on ProcessSession (adjacent to read() and write()). A MemoryMapCallback should be provided, which is called back via a process() call where the argument is an instance of BaseMemoryMap. The BaseMemoryMap is extended for each type of repository that MiNiFi - C++ supports, including: FileSystemRepository, VolatileRepository, and DatabaseContentRepository. As part of the change, in addition to extensive unit test coverage, benchmarks should be written such that the performance impact can be empirically measured and evaluated. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-918) Update TensorFlow processors to use property builder
Andrew Christianson created MINIFICPP-918: - Summary: Update TensorFlow processors to use property builder Key: MINIFICPP-918 URL: https://issues.apache.org/jira/browse/MINIFICPP-918 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Update the TensorFlow processors to use the new builder interface for defining properties. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-917) Update TensorFlow extension to the latest minifi-cpp CMake best practices
Andrew Christianson created MINIFICPP-917: - Summary: Update TensorFlow extension to the latest minifi-cpp CMake best practices Key: MINIFICPP-917 URL: https://issues.apache.org/jira/browse/MINIFICPP-917 Project: Apache NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson The TensorFlow extension needs to be updated to the latest CMake best practices in the project, including use of ExtensionHeader.txt: {color:#569cd6}include{color}{color:#d4d4d4}({color}{color:#569cd6}${CMAKE_SOURCE_DIR}{color}{color:#d4d4d4}/extensions/ExtensionHeader.txt){color} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5857) Non deterministic behaviour in Kubernetes by trying to inject custom properties
[ https://issues.apache.org/jira/browse/NIFI-5857?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16761880#comment-16761880 ] Andrew Christianson commented on NIFI-5857: --- Hi [~dirkjkb], I took a look at this ticket & your patch. It seems the nondeterminism/fuzzy state stems from conf/ having a mix of stateless configs and stateful. I believe that nifi properties (all the prop_replace) is not leading to the nondeterminism and should probably stay. It may not be perfect, but I don't think it's the root cause of this issue. Could you update your patch to keep the prop_replace and instead put the actually dynamic configs into volumes? Some things (e.g. authorized users) do change dynamically at runtime, so a volume is appropriate. One thing we need to look into as part of this patch is whether there is a clean separation between the stateless config and that which is updated at runtime. Overall, it does seem there is room for improvement in the Dockerfile/config management here. I'm just not sure it warrants fully taking out the prop_replace code. > Non deterministic behaviour in Kubernetes by trying to inject custom > properties > --- > > Key: NIFI-5857 > URL: https://issues.apache.org/jira/browse/NIFI-5857 > Project: Apache NiFi > Issue Type: Bug > Components: Docker >Affects Versions: 1.8.0 > Environment: Kubernetes, Docker >Reporter: dirkjkb >Priority: Critical > Attachments: > 0001-NIFI-5857-Non-deterministic-behaviour-in-Kubernetes-.patch > > > I want to override some config files in Nifi via Kubernetes. In order to do > so I am trying to replace the files after the start. It appears that the > docker file is started through a start.sh script which calls several other > scripts. This implementation Leeds to a non deterministic state, since the > replacement time can differ from the start.sh runtime. Furthermore, after > restarting a pod, the replacing command will be run each time again what also > leeds to a fuzzy state. > My proposal would be instead of injecting and running some sh files who will > set some variables the customized config files should just be copy replaced > in the building step. The run command can then be replaced through the > ENTRYPOINT ["bin/nifi.sh", "run"] Command. > In order to get the logging output to the console, a logback-test.xml file > should be created and configured so that all the meaningful information will > be piped to stdout. > > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (NIFI-5468) Add toolkit to NiFi docker image and use zip archive
[ https://issues.apache.org/jira/browse/NIFI-5468?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16637330#comment-16637330 ] Andrew Christianson commented on NIFI-5468: --- [~joewitt] I believe so --[~pepov] can you confirm? > Add toolkit to NiFi docker image and use zip archive > > > Key: NIFI-5468 > URL: https://issues.apache.org/jira/browse/NIFI-5468 > Project: Apache NiFi > Issue Type: Improvement > Components: Docker >Affects Versions: 1.8.0 >Reporter: Peter Wilcsinszky >Assignee: Peter Wilcsinszky >Priority: Major > Fix For: 1.8.0 > > > NiFi toolkit is an essential tool for a NiFi installation and makes sense to > include it by default in the NiFi Docker image. > Using the zip archive is a step to make possible switching completely to the > zip release and avoid generating the tar.gz anymore. For the discussion see > http://apache-nifi-developer-list.39713.n7.nabble.com/DISCUSS-Tar-Gzip-vs-Zip-td19175.html -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (NIFI-5542) Add support for node groups to FileAccessPolicyProvider
Andrew Christianson created NIFI-5542: - Summary: Add support for node groups to FileAccessPolicyProvider Key: NIFI-5542 URL: https://issues.apache.org/jira/browse/NIFI-5542 Project: Apache NiFi Issue Type: Improvement Reporter: Andrew Christianson Currently in FileAccessPolicyProvider, it is possible to specify a set of node identities, which are given access to /proxy. This works well for static clusters, but does not work so well for dynamic clusters (scaling up/down # of nodes) because we don't know in advance what the node identities will be or how many there will be. In order to support dynamic sets of node identities, add support for specifying a "Node Group," for which all identities in the group will be granted access to /proxy. A UserGroupProvider can then be implemented to gather node identities dynamically from the cluster environment. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-467) Support mutually-exclusive properties
[ https://issues.apache.org/jira/browse/MINIFICPP-467?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-467. --- Resolution: Fixed > Support mutually-exclusive properties > - > > Key: MINIFICPP-467 > URL: https://issues.apache.org/jira/browse/MINIFICPP-467 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > E.g. "If I set certificates in InvokeHTTP, I shouldn’t allow http as the > target protocol." -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-555) Pass through CMake args from build environment to external projects
[ https://issues.apache.org/jira/browse/MINIFICPP-555?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-555. --- Resolution: Fixed > Pass through CMake args from build environment to external projects > --- > > Key: MINIFICPP-555 > URL: https://issues.apache.org/jira/browse/MINIFICPP-555 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > When the build environment is customized, and especially in cross-compilation > build environments, many CMake env vars are set which need to be, but are not > by default, passed to external project builds. Vars include: > > {code:java} > set(PASSTHROUGH_CMAKE_ARGS -DANDROID_ABI=${ANDROID_ABI} > -DANDROID_PLATFORM=${ANDROID_PLATFORM} > -DANDROID_STL=${ANDROID_STL} > -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} > -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} > -DANDROID_NDK=${ANDROID_NDK} > -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} > -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} > -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} > -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} > -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} > -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH} > -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=${CMAKE_FIND_ROOT_PATH_MODE_PROGRAM} > -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=${CMAKE_FIND_ROOT_PATH_MODE_LIBRARY} > -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=${CMAKE_FIND_ROOT_PATH_MODE_INCLUDE} > -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} > -G${CMAKE_GENERATOR}) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-577) Come up with a better Property construction interface
Andrew Christianson created MINIFICPP-577: - Summary: Come up with a better Property construction interface Key: MINIFICPP-577 URL: https://issues.apache.org/jira/browse/MINIFICPP-577 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson There are getting to be too many constructor parameters. Refactor/break this down a bit to make it less painful to construct a property having validation options. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-514) Incorporate regex validation information into agent manifest
[ https://issues.apache.org/jira/browse/MINIFICPP-514?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-514. --- Resolution: Fixed > Incorporate regex validation information into agent manifest > > > Key: MINIFICPP-514 > URL: https://issues.apache.org/jira/browse/MINIFICPP-514 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Allow agent to report to c2 regex validation rules for properties. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (MINIFICPP-570) Move external project builds into separate CMake module(s)
[ https://issues.apache.org/jira/browse/MINIFICPP-570?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson updated MINIFICPP-570: -- Priority: Minor (was: Blocker) > Move external project builds into separate CMake module(s) > -- > > Key: MINIFICPP-570 > URL: https://issues.apache.org/jira/browse/MINIFICPP-570 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Minor > > The main CMakeLists.txt is getting cluttered with external project builds. It > is time to move these out into their own space. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-570) Move external project builds into separate CMake module(s)
[ https://issues.apache.org/jira/browse/MINIFICPP-570?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16555621#comment-16555621 ] Andrew Christianson commented on MINIFICPP-570: --- This is a minor organization issue and is in no way a blocker. > Move external project builds into separate CMake module(s) > -- > > Key: MINIFICPP-570 > URL: https://issues.apache.org/jira/browse/MINIFICPP-570 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Minor > > The main CMakeLists.txt is getting cluttered with external project builds. It > is time to move these out into their own space. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-561) Add internal/static build of bzip2
[ https://issues.apache.org/jira/browse/MINIFICPP-561?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-561. --- Resolution: Fixed > Add internal/static build of bzip2 > -- > > Key: MINIFICPP-561 > URL: https://issues.apache.org/jira/browse/MINIFICPP-561 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > To support static-linked/fat binary, add bzip2 as an external project. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-562) Fix thirdparty/uuid include path
[ https://issues.apache.org/jira/browse/MINIFICPP-562?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-562. --- Resolution: Fixed > Fix thirdparty/uuid include path > > > Key: MINIFICPP-562 > URL: https://issues.apache.org/jira/browse/MINIFICPP-562 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The thirdparty/uuid/include has uuid header files and is in the include path, > but the standard include path is . The directory structure needs > to be changed to accommodate this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-574) FileUtils.h:83:35: error: ‘strcmp’ was not declared in this scope
[ https://issues.apache.org/jira/browse/MINIFICPP-574?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16554288#comment-16554288 ] Andrew Christianson commented on MINIFICPP-574: --- Not sure if related, but got this with the following cmake config: {code:java} cmake3 .. -DUSE_SYSTEM_CURL=0{code} > FileUtils.h:83:35: error: ‘strcmp’ was not declared in this scope > - > > Key: MINIFICPP-574 > URL: https://issues.apache.org/jira/browse/MINIFICPP-574 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Getting compile error: > > {code:java} > In file included from > /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/FlowFileRepository.h:21:0, > from > /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/FlowFileRepository.cpp:18: > /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/../../libminifi/include/utils/file/FileUtils.h: > In static member function ‘static int64_t > org::apache::nifi::minifi::utils::file::FileUtils::delete_dir(const string&, > bool)’: > /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/../../libminifi/include/utils/file/FileUtils.h:83:35: > error: ‘strcmp’ was not declared in this scope > if (!strcmp(p->d_name, ".") || !strcmp(p->d_name, "..")) { > ^ > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-574) FileUtils.h:83:35: error: ‘strcmp’ was not declared in this scope
Andrew Christianson created MINIFICPP-574: - Summary: FileUtils.h:83:35: error: ‘strcmp’ was not declared in this scope Key: MINIFICPP-574 URL: https://issues.apache.org/jira/browse/MINIFICPP-574 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson Getting compile error: {code:java} In file included from /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/FlowFileRepository.h:21:0, from /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/FlowFileRepository.cpp:18: /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/../../libminifi/include/utils/file/FileUtils.h: In static member function ‘static int64_t org::apache::nifi::minifi::utils::file::FileUtils::delete_dir(const string&, bool)’: /home/achristianson/workspace/nifi-minifi-cpp/extensions/rocksdb-repos/../../libminifi/include/utils/file/FileUtils.h:83:35: error: ‘strcmp’ was not declared in this scope if (!strcmp(p->d_name, ".") || !strcmp(p->d_name, "..")) { ^ {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-572) Create a standard docker-based cross-compile environment
[ https://issues.apache.org/jira/browse/MINIFICPP-572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-572. --- Resolution: Invalid > Create a standard docker-based cross-compile environment > > > Key: MINIFICPP-572 > URL: https://issues.apache.org/jira/browse/MINIFICPP-572 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > To simplify creation of cross-compiled packages, create a standard > docker-based cross-compile environment which is capable of producing packages > for a variety of supported environments/architectures (e.g. armv6/linux for > pi zero w). This will allow developers and package managers to create > cross-compiled packages in a consistent, repeatable, portable fashion. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-572) Create a standard docker-based cross-compile environment
Andrew Christianson created MINIFICPP-572: - Summary: Create a standard docker-based cross-compile environment Key: MINIFICPP-572 URL: https://issues.apache.org/jira/browse/MINIFICPP-572 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson To simplify creation of cross-compiled packages, create a standard docker-based cross-compile environment which is capable of producing packages for a variety of supported environments/architectures (e.g. armv6/linux for pi zero w). This will allow developers and package managers to create cross-compiled packages in a consistent, repeatable, portable fashion. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-571) Update extensions/tensorflow to latest TF
[ https://issues.apache.org/jira/browse/MINIFICPP-571?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16552872#comment-16552872 ] Andrew Christianson commented on MINIFICPP-571: --- Update tf BUILDING.md to reflect cloning a specific tag/commit known to work (vs. master). > Update extensions/tensorflow to latest TF > - > > Key: MINIFICPP-571 > URL: https://issues.apache.org/jira/browse/MINIFICPP-571 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Update tensorflow_cc to latest tensorflow and update docs if necessary. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-571) Update extensions/tensorflow to latest TF
Andrew Christianson created MINIFICPP-571: - Summary: Update extensions/tensorflow to latest TF Key: MINIFICPP-571 URL: https://issues.apache.org/jira/browse/MINIFICPP-571 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Update tensorflow_cc to latest tensorflow and update docs if necessary. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-570) Move external project builds into separate CMake module(s)
Andrew Christianson created MINIFICPP-570: - Summary: Move external project builds into separate CMake module(s) Key: MINIFICPP-570 URL: https://issues.apache.org/jira/browse/MINIFICPP-570 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson The main CMakeLists.txt is getting cluttered with external project builds. It is time to move these out into their own space. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-564) Support bison/flex for EL in cross-compile contexts
[ https://issues.apache.org/jira/browse/MINIFICPP-564?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16550876#comment-16550876 ] Andrew Christianson commented on MINIFICPP-564: --- Assuming host system's flex/bison is used, this should be doable by ensuring host system's FlexLexer.h is in the include path. > Support bison/flex for EL in cross-compile contexts > --- > > Key: MINIFICPP-564 > URL: https://issues.apache.org/jira/browse/MINIFICPP-564 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > To support expression language in cross compile contexts, add some kind of > support or documentation for bison/flex. This could potentially involve > building bison/flex as an external project. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-567) Create cross-compile (crosstools-ng) build instructions
Andrew Christianson created MINIFICPP-567: - Summary: Create cross-compile (crosstools-ng) build instructions Key: MINIFICPP-567 URL: https://issues.apache.org/jira/browse/MINIFICPP-567 Project: NiFi MiNiFi C++ Issue Type: Documentation Reporter: Andrew Christianson Assignee: Andrew Christianson Create documentation for how to cross-compile minifi-cpp using crosstools-ng. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (MINIFICPP-360) Improve ARM build procedures
[ https://issues.apache.org/jira/browse/MINIFICPP-360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson reassigned MINIFICPP-360: - Assignee: Andrew Christianson (was: marco polo) > Improve ARM build procedures > > > Key: MINIFICPP-360 > URL: https://issues.apache.org/jira/browse/MINIFICPP-360 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: marco polo >Assignee: Andrew Christianson >Priority: Major > > It would be nice to automate some of the cross compiling toolchain. This is > going to be difficult. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-565) Add internal/static build of lua
Andrew Christianson created MINIFICPP-565: - Summary: Add internal/static build of lua Key: MINIFICPP-565 URL: https://issues.apache.org/jira/browse/MINIFICPP-565 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson To enable highly-portable fat binaries with scripting support, add the option to build & statically-link lua. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-564) Support bison/flex for EL in cross-compile contexts
Andrew Christianson created MINIFICPP-564: - Summary: Support bison/flex for EL in cross-compile contexts Key: MINIFICPP-564 URL: https://issues.apache.org/jira/browse/MINIFICPP-564 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson To support expression language in cross compile contexts, add some kind of support or documentation for bison/flex. This could potentially involve building bison/flex as an external project. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-563) Add internal/static build of tensorflow_cc
Andrew Christianson created MINIFICPP-563: - Summary: Add internal/static build of tensorflow_cc Key: MINIFICPP-563 URL: https://issues.apache.org/jira/browse/MINIFICPP-563 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson It would be useful to produce fat, portable binaries that include tensorflow_cc so that basic inferences can be done. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-555) Pass through CMake args from build environment to external projects
[ https://issues.apache.org/jira/browse/MINIFICPP-555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16549349#comment-16549349 ] Andrew Christianson commented on MINIFICPP-555: --- CMAKE_TOOLCHAIN_FILE does not encompass all vars that would need to be passed through (including CMAKE_TOOLCHAIN_FILE itself). > Pass through CMake args from build environment to external projects > --- > > Key: MINIFICPP-555 > URL: https://issues.apache.org/jira/browse/MINIFICPP-555 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > When the build environment is customized, and especially in cross-compilation > build environments, many CMake env vars are set which need to be, but are not > by default, passed to external project builds. Vars include: > > {code:java} > set(PASSTHROUGH_CMAKE_ARGS -DANDROID_ABI=${ANDROID_ABI} > -DANDROID_PLATFORM=${ANDROID_PLATFORM} > -DANDROID_STL=${ANDROID_STL} > -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} > -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} > -DANDROID_NDK=${ANDROID_NDK} > -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} > -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} > -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} > -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} > -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} > -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH} > -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=${CMAKE_FIND_ROOT_PATH_MODE_PROGRAM} > -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=${CMAKE_FIND_ROOT_PATH_MODE_LIBRARY} > -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=${CMAKE_FIND_ROOT_PATH_MODE_INCLUDE} > -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} > -G${CMAKE_GENERATOR}) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-562) Fix thirdparty/uuid include path
Andrew Christianson created MINIFICPP-562: - Summary: Fix thirdparty/uuid include path Key: MINIFICPP-562 URL: https://issues.apache.org/jira/browse/MINIFICPP-562 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson The thirdparty/uuid/include has uuid header files and is in the include path, but the standard include path is . The directory structure needs to be changed to accommodate this. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-561) Add internal/static build of bzip2
Andrew Christianson created MINIFICPP-561: - Summary: Add internal/static build of bzip2 Key: MINIFICPP-561 URL: https://issues.apache.org/jira/browse/MINIFICPP-561 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson To support static-linked/fat binary, add bzip2 as an external project. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-560) Create deb package target in cmake build
Andrew Christianson created MINIFICPP-560: - Summary: Create deb package target in cmake build Key: MINIFICPP-560 URL: https://issues.apache.org/jira/browse/MINIFICPP-560 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Support packaging to deb for easier install and ability to have minificpp in repositories. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-559) cURL built-in build fails in cross-compilation setup
Andrew Christianson created MINIFICPP-559: - Summary: cURL built-in build fails in cross-compilation setup Key: MINIFICPP-559 URL: https://issues.apache.org/jira/browse/MINIFICPP-559 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson cURL internal build & package find fails when cross compiling. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-483) Add bustache build docs
[ https://issues.apache.org/jira/browse/MINIFICPP-483?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-483. --- Resolution: Fixed > Add bustache build docs > --- > > Key: MINIFICPP-483 > URL: https://issues.apache.org/jira/browse/MINIFICPP-483 > Project: NiFi MiNiFi C++ > Issue Type: Documentation >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Bustache adds some build-time caveats and this should be noted/clarified in > the build instructions. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-459) Ensure that FlexLexer.h can be included when system includes are not in path
[ https://issues.apache.org/jira/browse/MINIFICPP-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-459. --- Resolution: Fixed > Ensure that FlexLexer.h can be included when system includes are not in path > > > Key: MINIFICPP-459 > URL: https://issues.apache.org/jira/browse/MINIFICPP-459 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Sources generated by bison/flex for expression language depend on lex > headers. In certain build environments, such as Android cross-compilation, > system headers are not in the include path, so the build fails due to not > finding FlexLexer.h. > Provide some way for the build to find the system FlexLexer.h corresponding > to the install of flex used to generate EL lexer sources. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-555) Pass through CMake args from build environment to external projects
[ https://issues.apache.org/jira/browse/MINIFICPP-555?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16535022#comment-16535022 ] Andrew Christianson commented on MINIFICPP-555: --- Compare with -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} to make sure it's kept simple & non-redundant. > Pass through CMake args from build environment to external projects > --- > > Key: MINIFICPP-555 > URL: https://issues.apache.org/jira/browse/MINIFICPP-555 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > When the build environment is customized, and especially in cross-compilation > build environments, many CMake env vars are set which need to be, but are not > by default, passed to external project builds. Vars include: > > {code:java} > set(PASSTHROUGH_CMAKE_ARGS -DANDROID_ABI=${ANDROID_ABI} > -DANDROID_PLATFORM=${ANDROID_PLATFORM} > -DANDROID_STL=${ANDROID_STL} > -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} > -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} > -DANDROID_NDK=${ANDROID_NDK} > -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} > -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} > -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} > -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} > -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} > -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH} > -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=${CMAKE_FIND_ROOT_PATH_MODE_PROGRAM} > -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=${CMAKE_FIND_ROOT_PATH_MODE_LIBRARY} > -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=${CMAKE_FIND_ROOT_PATH_MODE_INCLUDE} > -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} > -G${CMAKE_GENERATOR}) > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-555) Pass through CMake args from build environment to external projects
Andrew Christianson created MINIFICPP-555: - Summary: Pass through CMake args from build environment to external projects Key: MINIFICPP-555 URL: https://issues.apache.org/jira/browse/MINIFICPP-555 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson When the build environment is customized, and especially in cross-compilation build environments, many CMake env vars are set which need to be, but are not by default, passed to external project builds. Vars include: {code:java} set(PASSTHROUGH_CMAKE_ARGS -DANDROID_ABI=${ANDROID_ABI} -DANDROID_PLATFORM=${ANDROID_PLATFORM} -DANDROID_STL=${ANDROID_STL} -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${CMAKE_LIBRARY_OUTPUT_DIRECTORY} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DANDROID_NDK=${ANDROID_NDK} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE} -DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM} -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER} -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} -DCMAKE_FIND_ROOT_PATH=${CMAKE_FIND_ROOT_PATH} -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=${CMAKE_FIND_ROOT_PATH_MODE_PROGRAM} -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=${CMAKE_FIND_ROOT_PATH_MODE_LIBRARY} -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=${CMAKE_FIND_ROOT_PATH_MODE_INCLUDE} -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -G${CMAKE_GENERATOR}) {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-459) Ensure that FlexLexer.h can be included when system includes are not in path
[ https://issues.apache.org/jira/browse/MINIFICPP-459?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16534861#comment-16534861 ] Andrew Christianson commented on MINIFICPP-459: --- For now, due to FlexLexer.h compatibility issues, will update the build docs to reflect flex caveat. FlexLexer.h must be in the include path and must be compatible with the version of flex used to generate lexer sources. > Ensure that FlexLexer.h can be included when system includes are not in path > > > Key: MINIFICPP-459 > URL: https://issues.apache.org/jira/browse/MINIFICPP-459 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Sources generated by bison/flex for expression language depend on lex > headers. In certain build environments, such as Android cross-compilation, > system headers are not in the include path, so the build fails due to not > finding FlexLexer.h. > Provide some way for the build to find the system FlexLexer.h corresponding > to the install of flex used to generate EL lexer sources. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-553) Add bzlib to build requirement docs
[ https://issues.apache.org/jira/browse/MINIFICPP-553?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-553. --- Resolution: Invalid Invalid. > Add bzlib to build requirement docs > --- > > Key: MINIFICPP-553 > URL: https://issues.apache.org/jira/browse/MINIFICPP-553 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The following error cropped up during recent build: > > /home/achristianson/workspace/nifi-minifi-cpp/thirdparty/bsdiff/bsdiff.c:370:19: > fatal error: bzlib.h: No such file or directory > #include > > This isn't a code bug, just a missing build dep, but I didn't see any note of > the requirement in the docs. Bzlib should be added to build deps > documentation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-553) Add bzlib to build requirement docs
[ https://issues.apache.org/jira/browse/MINIFICPP-553?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16533667#comment-16533667 ] Andrew Christianson commented on MINIFICPP-553: --- Issue is OBE; "bzip2" is the lib and is documented. > Add bzlib to build requirement docs > --- > > Key: MINIFICPP-553 > URL: https://issues.apache.org/jira/browse/MINIFICPP-553 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The following error cropped up during recent build: > > /home/achristianson/workspace/nifi-minifi-cpp/thirdparty/bsdiff/bsdiff.c:370:19: > fatal error: bzlib.h: No such file or directory > #include > > This isn't a code bug, just a missing build dep, but I didn't see any note of > the requirement in the docs. Bzlib should be added to build deps > documentation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-553) Add bzlib to build requirement docs
Andrew Christianson created MINIFICPP-553: - Summary: Add bzlib to build requirement docs Key: MINIFICPP-553 URL: https://issues.apache.org/jira/browse/MINIFICPP-553 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson The following error cropped up during recent build: /home/achristianson/workspace/nifi-minifi-cpp/thirdparty/bsdiff/bsdiff.c:370:19: fatal error: bzlib.h: No such file or directory #include This isn't a code bug, just a missing build dep, but I didn't see any note of the requirement in the docs. Bzlib should be added to build deps documentation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-515) Implement emplace_back for values in Property class
[ https://issues.apache.org/jira/browse/MINIFICPP-515?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-515. --- Resolution: Fixed > Implement emplace_back for values in Property class > --- > > Key: MINIFICPP-515 > URL: https://issues.apache.org/jira/browse/MINIFICPP-515 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > We're calling push_back instead of emplace_back, as well as unnecessarily > rebuilding strings from c_string() values. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-534) Add EL support to ExecuteProcess
[ https://issues.apache.org/jira/browse/MINIFICPP-534?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-534. --- Resolution: Fixed > Add EL support to ExecuteProcess > > > Key: MINIFICPP-534 > URL: https://issues.apache.org/jira/browse/MINIFICPP-534 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > Fix For: 0.6.0 > > > ExecuteProcess needs EL support for the following properties: > * Command > * Command Arguments > * Working Directory -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-536) Add EL support to GetFile
[ https://issues.apache.org/jira/browse/MINIFICPP-536?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-536. --- Resolution: Fixed > Add EL support to GetFile > - > > Key: MINIFICPP-536 > URL: https://issues.apache.org/jira/browse/MINIFICPP-536 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > GetFile needs EL support. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-535) EL should support absence of flow files
[ https://issues.apache.org/jira/browse/MINIFICPP-535?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-535. --- Resolution: Fixed > EL should support absence of flow files > --- > > Key: MINIFICPP-535 > URL: https://issues.apache.org/jira/browse/MINIFICPP-535 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > EL needs to work in the case that there are no flow files; many EL functions > make sense in absence of a flow file. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-536) Add EL support to GetFile
Andrew Christianson created MINIFICPP-536: - Summary: Add EL support to GetFile Key: MINIFICPP-536 URL: https://issues.apache.org/jira/browse/MINIFICPP-536 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson GetFile needs EL support. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Comment Edited] (MINIFICPP-534) Add EL support to ExecuteProcess
[ https://issues.apache.org/jira/browse/MINIFICPP-534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16508046#comment-16508046 ] Andrew Christianson edited comment on MINIFICPP-534 at 6/11/18 1:30 PM: EP needs MINIFICPP-535 because its execution is not in the context of a FlowFile. was (Author: achristianson): EP needs MINIFI-535 because its execution is not in the context of a FlowFile. > Add EL support to ExecuteProcess > > > Key: MINIFICPP-534 > URL: https://issues.apache.org/jira/browse/MINIFICPP-534 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > ExecuteProcess needs EL support for the following properties: > * Command > * Command Arguments > * Working Directory -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-534) Add EL support to ExecuteProcess
[ https://issues.apache.org/jira/browse/MINIFICPP-534?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16508046#comment-16508046 ] Andrew Christianson commented on MINIFICPP-534: --- EP needs MINIFI-535 because its execution is not in the context of a FlowFile. > Add EL support to ExecuteProcess > > > Key: MINIFICPP-534 > URL: https://issues.apache.org/jira/browse/MINIFICPP-534 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > ExecuteProcess needs EL support for the following properties: > * Command > * Command Arguments > * Working Directory -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-535) EL should support absence of flow files
Andrew Christianson created MINIFICPP-535: - Summary: EL should support absence of flow files Key: MINIFICPP-535 URL: https://issues.apache.org/jira/browse/MINIFICPP-535 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson EL needs to work in the case that there are no flow files; many EL functions make sense in absence of a flow file. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-534) Add EL support to ExecuteProcess
Andrew Christianson created MINIFICPP-534: - Summary: Add EL support to ExecuteProcess Key: MINIFICPP-534 URL: https://issues.apache.org/jira/browse/MINIFICPP-534 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson ExecuteProcess needs EL support for the following properties: * Command * Command Arguments * Working Directory -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-533) Integer comparison mismatch in ListenHTTP
Andrew Christianson created MINIFICPP-533: - Summary: Integer comparison mismatch in ListenHTTP Key: MINIFICPP-533 URL: https://issues.apache.org/jira/browse/MINIFICPP-533 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson Fix the mismatched size types: {{In file included from /home/achristianson/workspace/nifi-minifi-cpp/extensions/civetweb/processors/ListenHTTP.cpp:21:0:}} {{/home/achristianson/workspace/nifi-minifi-cpp/extensions/civetweb/processors/ListenHTTP.h: In member function ‘virtual int64_t org::apache::nifi::minifi::processors::ListenHTTP::ResponseBodyReadCallback::process(std::shared_ptr)’:}} {{/home/achristianson/workspace/nifi-minifi-cpp/extensions/civetweb/processors/ListenHTTP.h:139:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]}} {{ if (num_read != stream->getSize()) {}} {{ ~^~~~}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-510) Default property log msg is at wrong level (error vs. info)
[ https://issues.apache.org/jira/browse/MINIFICPP-510?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-510. --- Resolution: Fixed > Default property log msg is at wrong level (error vs. info) > --- > > Key: MINIFICPP-510 > URL: https://issues.apache.org/jira/browse/MINIFICPP-510 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Config log messages for using default value are at error level, which is > incorrect and misleading when monitoring logs. These messages should be at > info level because relying on a default config value is a completely > non-exceptional use case. > {code:java} > [error] Using default value for optional field 'scheduling period' in > component named 'XYZ' [in 'Processors' section of configuration file]{code} > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-515) Implement emplace_back for values in Property class
Andrew Christianson created MINIFICPP-515: - Summary: Implement emplace_back for values in Property class Key: MINIFICPP-515 URL: https://issues.apache.org/jira/browse/MINIFICPP-515 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson We're calling push_back instead of emplace_back, as well as unnecessarily rebuilding strings from c_string() values. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-514) Incorporate regex validation information into agent manifest
Andrew Christianson created MINIFICPP-514: - Summary: Incorporate regex validation information into agent manifest Key: MINIFICPP-514 URL: https://issues.apache.org/jira/browse/MINIFICPP-514 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Allow agent to report to c2 regex validation rules for properties. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-511) Fix "controllserServices" AgentInformation key
[ https://issues.apache.org/jira/browse/MINIFICPP-511?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-511. --- Resolution: Fixed > Fix "controllserServices" AgentInformation key > > > Key: MINIFICPP-511 > URL: https://issues.apache.org/jira/browse/MINIFICPP-511 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The "controllerServices" key in AgentInformation is erroneously set to > "controllserServices" currently, which would confuse and potentially break > AgentInfo consumers. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-511) Fix "controllserServices" AgentInformation key
Andrew Christianson created MINIFICPP-511: - Summary: Fix "controllserServices" AgentInformation key Key: MINIFICPP-511 URL: https://issues.apache.org/jira/browse/MINIFICPP-511 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson The "controllerServices" key in AgentInformation is erroneously set to "controllserServices" currently, which would confuse and potentially break AgentInfo consumers. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-510) Default property log msg is at wrong level (error vs. info)
Andrew Christianson created MINIFICPP-510: - Summary: Default property log msg is at wrong level (error vs. info) Key: MINIFICPP-510 URL: https://issues.apache.org/jira/browse/MINIFICPP-510 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson Config log messages for using default value are at error level, which is incorrect and misleading when monitoring logs. These messages should be at info level because relying on a default config value is a completely non-exceptional use case. {code:java} [error] Using default value for optional field 'scheduling period' in component named 'XYZ' [in 'Processors' section of configuration file]{code} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-477) Add missing encode/decode heading to EL docs
[ https://issues.apache.org/jira/browse/MINIFICPP-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-477. --- Resolution: Fixed > Add missing encode/decode heading to EL docs > > > Key: MINIFICPP-477 > URL: https://issues.apache.org/jira/browse/MINIFICPP-477 > Project: NiFi MiNiFi C++ > Issue Type: Documentation >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Encode/decode intro section is missing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-501) Incorporate dependent property metadata into agent information
[ https://issues.apache.org/jira/browse/MINIFICPP-501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-501. --- Resolution: Fixed > Incorporate dependent property metadata into agent information > -- > > Key: MINIFICPP-501 > URL: https://issues.apache.org/jira/browse/MINIFICPP-501 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Report which properties a property is dependent upon. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-502) Support required processor properties
[ https://issues.apache.org/jira/browse/MINIFICPP-502?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-502. --- Resolution: Fixed > Support required processor properties > - > > Key: MINIFICPP-502 > URL: https://issues.apache.org/jira/browse/MINIFICPP-502 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Allow developers to specify properties as required, and validate this in the > configuration reader. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-503) Parser.yy not synced to docker builds
[ https://issues.apache.org/jira/browse/MINIFICPP-503?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-503. --- Resolution: Fixed > Parser.yy not synced to docker builds > - > > Key: MINIFICPP-503 > URL: https://issues.apache.org/jira/browse/MINIFICPP-503 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Parser.yy is not transferred into the docker image, resulting in the > following build error: > > {{make[2]: *** No rule to make target > '../extensions/expression-language/Parser.yy', needed by > '../extensions/expression-language/Parser.cpp'. Stop.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-498) Add travis builds targeting newer compilers (>= gcc 6)
[ https://issues.apache.org/jira/browse/MINIFICPP-498?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-498. --- Resolution: Fixed > Add travis builds targeting newer compilers (>= gcc 6) > -- > > Key: MINIFICPP-498 > URL: https://issues.apache.org/jira/browse/MINIFICPP-498 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Some minificpp features are only available for newer compilers (lua/sol2, > regex, date manipulation), and we should cover these in CI via updating > travis.yml. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (MINIFICPP-507) Configure Appveyor to exit successfully
[ https://issues.apache.org/jira/browse/MINIFICPP-507?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson reassigned MINIFICPP-507: - Assignee: Andrew Christianson > Configure Appveyor to exit successfully > --- > > Key: MINIFICPP-507 > URL: https://issues.apache.org/jira/browse/MINIFICPP-507 > Project: NiFi MiNiFi C++ > Issue Type: Task >Reporter: Aldrin Piri >Assignee: Andrew Christianson >Priority: Major > > For the time being until we are reliant on Windows infra, we should configure > Appveyor to exit immediately and successfully. Configuration info available > at https://www.appveyor.com/docs/build-configuration/. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-508) Support EL for ApplyTemplate Template property
Andrew Christianson created MINIFICPP-508: - Summary: Support EL for ApplyTemplate Template property Key: MINIFICPP-508 URL: https://issues.apache.org/jira/browse/MINIFICPP-508 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Allow template file to be dynamically specified using EL. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-503) Parser.yy not synced to docker builds
Andrew Christianson created MINIFICPP-503: - Summary: Parser.yy not synced to docker builds Key: MINIFICPP-503 URL: https://issues.apache.org/jira/browse/MINIFICPP-503 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson Parser.yy is not transferred into the docker image, resulting in the following build error: {{make[2]: *** No rule to make target '../extensions/expression-language/Parser.yy', needed by '../extensions/expression-language/Parser.cpp'. Stop.}} -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-499) Incorporate property required into agent manifest
[ https://issues.apache.org/jira/browse/MINIFICPP-499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-499. --- Resolution: Fixed > Incorporate property required into agent manifest > - > > Key: MINIFICPP-499 > URL: https://issues.apache.org/jira/browse/MINIFICPP-499 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Report to consumers whether or not each property is required. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-502) Support required processor properties
Andrew Christianson created MINIFICPP-502: - Summary: Support required processor properties Key: MINIFICPP-502 URL: https://issues.apache.org/jira/browse/MINIFICPP-502 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Allow developers to specify properties as required, and validate this in the configuration reader. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-501) Incorporate dependent property metadata into agent information
Andrew Christianson created MINIFICPP-501: - Summary: Incorporate dependent property metadata into agent information Key: MINIFICPP-501 URL: https://issues.apache.org/jira/browse/MINIFICPP-501 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Report which properties a property is dependent upon. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-500) Incorporate mutally-exlusive property metadata into agent manifest
Andrew Christianson created MINIFICPP-500: - Summary: Incorporate mutally-exlusive property metadata into agent manifest Key: MINIFICPP-500 URL: https://issues.apache.org/jira/browse/MINIFICPP-500 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Report properties which are mutually-exclusive. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-499) Incorporate property required into agent manifest
Andrew Christianson created MINIFICPP-499: - Summary: Incorporate property required into agent manifest Key: MINIFICPP-499 URL: https://issues.apache.org/jira/browse/MINIFICPP-499 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Report to consumers whether or not each property is required. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-498) Add travis builds targeting newer compilers (>= gcc 6)
Andrew Christianson created MINIFICPP-498: - Summary: Add travis builds targeting newer compilers (>= gcc 6) Key: MINIFICPP-498 URL: https://issues.apache.org/jira/browse/MINIFICPP-498 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Some minificpp features are only available for newer compilers (lua/sol2, regex, date manipulation), and we should cover these in CI via updating travis.yml. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-423) Implement encode/decode EL functions
[ https://issues.apache.org/jira/browse/MINIFICPP-423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-423. --- Resolution: Fixed > Implement encode/decode EL functions > > > Key: MINIFICPP-423 > URL: https://issues.apache.org/jira/browse/MINIFICPP-423 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > [Encode/Decode > Functions|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#encode] > * > -[escapeJson|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#escapejson]- > * > -[escapeXml|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#escapexml]- > * > -[escapeCsv|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#escapecsv]- > * > -[escapeHtml3|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#escapehtml3]- > * > -[escapeHtml4|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#escapehtml4]- > * > -[unescapeJson|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#unescapejson]- > * > -[unescapeXml|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#unescapexml]- > * > -[unescapeCsv|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#unescapecsv]- > * > -[unescapeHtml3|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#unescapehtml3]- > * > -[unescapeHtml4|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#unescapehtml4]- > * > -[urlEncode|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#urlencode]- > * > -[urlDecode|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#urldecode]- > * > -[base64Encode|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#base64encode]- > * > -[base64Decode|https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html#base64decode]- -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-474) Implement getDelimitedField EL function
[ https://issues.apache.org/jira/browse/MINIFICPP-474?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-474. --- Resolution: Fixed > Implement getDelimitedField EL function > --- > > Key: MINIFICPP-474 > URL: https://issues.apache.org/jira/browse/MINIFICPP-474 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > *Description*: Parses the Subject as a delimited line of text and returns > just a single field from that delimited text. > *Subject Type*: String > *Arguments*: > * _index_ : The index of the field to return. A value of 1 will return the > first field, a value of 2 will return the second field, and so on. > * _delimiter_ : Optional argument that provides the character to use as a > field separator. If not specified, a comma will be used. This value must be > exactly 1 character. > * _quoteChar_ : Optional argument that provides the character that can be > used to quote values so that the delimiter can be used within a single field. > If not specified, a double-quote (") will be used. This value must be exactly > 1 character. > * _escapeChar_ : Optional argument that provides the character that can be > used to escape the Quote Character or the Delimiter within a field. If not > specified, a backslash (\) is used. This value must be exactly 1 character. > * _stripChars_ : Optional argument that specifies whether or not quote > characters and escape characters should be stripped. For example, if we have > a field value "1, 2, 3" and this value is true, we will get the value {{1, 2, > 3}}, but if this value is false, we will get the value {{"1, 2, 3"}} with the > quotes. The default value is false. This value must be either {{true}}or > {{false}}. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-476) Support true/false literals as function args in EL
[ https://issues.apache.org/jira/browse/MINIFICPP-476?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-476. --- Resolution: Fixed > Support true/false literals as function args in EL > -- > > Key: MINIFICPP-476 > URL: https://issues.apache.org/jira/browse/MINIFICPP-476 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Currently writing "true" as a literal function arg causes an EL parse > exception. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-463) Implement escape/unescape URL EL functions
[ https://issues.apache.org/jira/browse/MINIFICPP-463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-463. --- Resolution: Fixed > Implement escape/unescape URL EL functions > -- > > Key: MINIFICPP-463 > URL: https://issues.apache.org/jira/browse/MINIFICPP-463 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-484) Update sol2 to 2.20.0
[ https://issues.apache.org/jira/browse/MINIFICPP-484?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-484. --- Resolution: Fixed > Update sol2 to 2.20.0 > - > > Key: MINIFICPP-484 > URL: https://issues.apache.org/jira/browse/MINIFICPP-484 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The sol2-2.17.5 library is outdated and should be updated to the latest, > 2.20.0. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-475) Allow preferred image dimensions/mode to be set in GetUSBCamera properties
[ https://issues.apache.org/jira/browse/MINIFICPP-475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-475. --- Resolution: Fixed > Allow preferred image dimensions/mode to be set in GetUSBCamera properties > -- > > Key: MINIFICPP-475 > URL: https://issues.apache.org/jira/browse/MINIFICPP-475 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > GetUSBCamera currently selects the highest-quality image format for a given > FPS. This optimizes for image quality, but can be suboptimal for performance > on embedded devices where users may need to have low FPS and low/small image > quality. > Add additional optional properties to GetUSBCamera to allow specification of > preferred image dimensions/quality, and have this override automatic > selection if the properties are set. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-368) Implement expression language subjectless functions
[ https://issues.apache.org/jira/browse/MINIFICPP-368?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-368. --- Resolution: Fixed > Implement expression language subjectless functions > --- > > Key: MINIFICPP-368 > URL: https://issues.apache.org/jira/browse/MINIFICPP-368 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Subjectless Functions > ip > hostname > UUID > nextInt > literal > getStateValue -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-478) Add missing date manipulation heading/intro to EL docs
[ https://issues.apache.org/jira/browse/MINIFICPP-478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-478. --- Resolution: Fixed > Add missing date manipulation heading/intro to EL docs > -- > > Key: MINIFICPP-478 > URL: https://issues.apache.org/jira/browse/MINIFICPP-478 > Project: NiFi MiNiFi C++ > Issue Type: Documentation >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The date manipulation heading/intro is missing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-432) ApplyTemplate is missing docs
[ https://issues.apache.org/jira/browse/MINIFICPP-432?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-432. --- Resolution: Fixed > ApplyTemplate is missing docs > - > > Key: MINIFICPP-432 > URL: https://issues.apache.org/jira/browse/MINIFICPP-432 > Project: NiFi MiNiFi C++ > Issue Type: Bug >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The ApplyTemplate processor needs documentation. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Resolved] (MINIFICPP-392) DockerBuild should copy dirs based on a black list vs a white list to avoid missing copied directories
[ https://issues.apache.org/jira/browse/MINIFICPP-392?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson resolved MINIFICPP-392. --- Resolution: Fixed > DockerBuild should copy dirs based on a black list vs a white list to avoid > missing copied directories > -- > > Key: MINIFICPP-392 > URL: https://issues.apache.org/jira/browse/MINIFICPP-392 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: marco polo >Assignee: Andrew Christianson >Priority: Minor > Fix For: 0.5.0 > > > See Convo from [https://github.com/apache/nifi-minifi-cpp/pull/253] -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-484) Update sol2 to 2.20.0
Andrew Christianson created MINIFICPP-484: - Summary: Update sol2 to 2.20.0 Key: MINIFICPP-484 URL: https://issues.apache.org/jira/browse/MINIFICPP-484 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson The sol2-2.17.5 library is outdated and should be updated to the latest, 2.20.0. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-483) Add bustache build docs
Andrew Christianson created MINIFICPP-483: - Summary: Add bustache build docs Key: MINIFICPP-483 URL: https://issues.apache.org/jira/browse/MINIFICPP-483 Project: NiFi MiNiFi C++ Issue Type: Documentation Reporter: Andrew Christianson Assignee: Andrew Christianson Bustache adds some build-time caveats and this should be noted/clarified in the build instructions. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Updated] (MINIFICPP-459) Ensure that FlexLexer.h can be included when system includes are not in path
[ https://issues.apache.org/jira/browse/MINIFICPP-459?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson updated MINIFICPP-459: -- Description: Sources generated by bison/flex for expression language depend on lex headers. In certain build environments, such as Android cross-compilation, system headers are not in the include path, so the build fails due to not finding FlexLexer.h. Provide some way for the build to find the system FlexLexer.h corresponding to the install of flex used to generate EL lexer sources. was:Sources generated by bison/flex for expression language depend on lex headers. Inclusion of FlexLexer will allow the generated source to be compiled in environments where lex is not available. Summary: Ensure that FlexLexer.h can be included when system includes are not in path (was: Include flex lexer headers so that generated code can be used without lex being installed) >From GitHub: Going to close this PR as invalid. FlexLexer.h appears to be >incompatible between common versions. Flex/bison are build requirements when >EL code is generated. This ticket made it possible to build when system >headers were not in the include path (e.g. Android builds); this remains a >requirement, but a different solution needs to be applied. > Ensure that FlexLexer.h can be included when system includes are not in path > > > Key: MINIFICPP-459 > URL: https://issues.apache.org/jira/browse/MINIFICPP-459 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > Sources generated by bison/flex for expression language depend on lex > headers. In certain build environments, such as Android cross-compilation, > system headers are not in the include path, so the build fails due to not > finding FlexLexer.h. > Provide some way for the build to find the system FlexLexer.h corresponding > to the install of flex used to generate EL lexer sources. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-475) Allow preferred image dimensions/mode to be set in GetUSBCamera properties
[ https://issues.apache.org/jira/browse/MINIFICPP-475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16462914#comment-16462914 ] Andrew Christianson commented on MINIFICPP-475: --- [~iyanmv], I agree about adding the delay/skip options. I put in a PR for this ticket, supporting a target frame width/height (closest will be chosen). Created MINIFICPP-480 to track adding of skip/delay options. Unfortunately, I do not yet see a clear way to support color depth as libuvc seems to report frame byte size but not color options. There may be a way to do it, but it will require further investigation/another ticket. > Allow preferred image dimensions/mode to be set in GetUSBCamera properties > -- > > Key: MINIFICPP-475 > URL: https://issues.apache.org/jira/browse/MINIFICPP-475 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > GetUSBCamera currently selects the highest-quality image format for a given > FPS. This optimizes for image quality, but can be suboptimal for performance > on embedded devices where users may need to have low FPS and low/small image > quality. > Add additional optional properties to GetUSBCamera to allow specification of > preferred image dimensions/quality, and have this override automatic > selection if the properties are set. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-480) Add skip/delay options to GetUSBCamera
Andrew Christianson created MINIFICPP-480: - Summary: Add skip/delay options to GetUSBCamera Key: MINIFICPP-480 URL: https://issues.apache.org/jira/browse/MINIFICPP-480 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson Add skip/delay options to GetUSBCamera properties to support delayed capture/skipping of frames. This supports, e.g., allowing the camera to adjust focus & lighting settings. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Commented] (MINIFICPP-479) Incorporate property validation information into manifest
[ https://issues.apache.org/jira/browse/MINIFICPP-479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16461417#comment-16461417 ] Andrew Christianson commented on MINIFICPP-479: --- [https://github.com/phrocker/nifi-minifi-cpp/blob/7ea8364b2ae25dcece91bcd0646e1023391ef4d3/libminifi/include/core/state/nodes/AgentInformation.h#L250] is where property descriptors are currently placed into the agent manifest produces, e.g. (needs validation info): {code:java} org::apache::nifi::minifi::processors::AbstractMQTTProcessor": { "buildInfo": { "compiler": "/usr/bin/c++", "flags": " -std=c++11 -Wall", "revision": "9edd5fbeecc39ec980cd596e7db06d528d028471", "timestamp": 1525277805, "version": "0.5.0" }, "propertyDescriptors": { "Broker URI": { "description": "The URI to use to connect to the MQTT broker", "name": "Broker URI" }, "Client ID": { "description": "MQTT client ID to use", "name": "Client ID" }, "Connection Timeout": { "description": "Maximum time interval the client will wait for the network connection to the MQTT server", "name": "Connection Timeout" }, "Keep Alive Interval": { "description": "Defines the maximum time interval between messages sent or received", "name": "Keep Alive Interval" }, "Password": { "description": "Password to use when connecting to the broker", "name": "Password" }, "Quality of Service": { "description": "The Quality of Service(QoS) to send the message with. Accepts three values '0', '1' and '2'", "name": "Quality of Service" }, "Session state": { "description": "Whether to start afresh or resume previous flows. See the allowable value descriptions for more details", "name": "Session state" }, "Topic": { "description": "The topic to publish the message to", "name": "Topic" }, "Username": { "description": "Username to use when connecting to the broker", "name": "Username" } }, "artifact": "org::apache::nifi::minifi::processors::AbstractMQTTProcessor", "group": "org::apache::nifi::minifi", "supportsDynamicProperties": false, "version": "0.5.0" }, {code} > Incorporate property validation information into manifest > - > > Key: MINIFICPP-479 > URL: https://issues.apache.org/jira/browse/MINIFICPP-479 > Project: NiFi MiNiFi C++ > Issue Type: Improvement >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > High-level intent is to avoid round-trip to c2 to know that flow is valid > (or, invalid in common/trivial ways). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-479) Incorporate property validation information into manifest
Andrew Christianson created MINIFICPP-479: - Summary: Incorporate property validation information into manifest Key: MINIFICPP-479 URL: https://issues.apache.org/jira/browse/MINIFICPP-479 Project: NiFi MiNiFi C++ Issue Type: Improvement Reporter: Andrew Christianson Assignee: Andrew Christianson High-level intent is to avoid round-trip to c2 to know that flow is valid (or, invalid in common/trivial ways). -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-478) Add missing date manipulation heading/intro to EL docs
Andrew Christianson created MINIFICPP-478: - Summary: Add missing date manipulation heading/intro to EL docs Key: MINIFICPP-478 URL: https://issues.apache.org/jira/browse/MINIFICPP-478 Project: NiFi MiNiFi C++ Issue Type: Documentation Reporter: Andrew Christianson The date manipulation heading/intro is missing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Assigned] (MINIFICPP-478) Add missing date manipulation heading/intro to EL docs
[ https://issues.apache.org/jira/browse/MINIFICPP-478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Andrew Christianson reassigned MINIFICPP-478: - Assignee: Andrew Christianson > Add missing date manipulation heading/intro to EL docs > -- > > Key: MINIFICPP-478 > URL: https://issues.apache.org/jira/browse/MINIFICPP-478 > Project: NiFi MiNiFi C++ > Issue Type: Documentation >Reporter: Andrew Christianson >Assignee: Andrew Christianson >Priority: Major > > The date manipulation heading/intro is missing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-477) Add missing encode/decode heading to EL docs
Andrew Christianson created MINIFICPP-477: - Summary: Add missing encode/decode heading to EL docs Key: MINIFICPP-477 URL: https://issues.apache.org/jira/browse/MINIFICPP-477 Project: NiFi MiNiFi C++ Issue Type: Documentation Reporter: Andrew Christianson Assignee: Andrew Christianson Encode/decode intro section is missing. -- This message was sent by Atlassian JIRA (v7.6.3#76005)
[jira] [Created] (MINIFICPP-476) Support true/false literals as function args in EL
Andrew Christianson created MINIFICPP-476: - Summary: Support true/false literals as function args in EL Key: MINIFICPP-476 URL: https://issues.apache.org/jira/browse/MINIFICPP-476 Project: NiFi MiNiFi C++ Issue Type: Bug Reporter: Andrew Christianson Assignee: Andrew Christianson Currently writing "true" as a literal function arg causes an EL parse exception. -- This message was sent by Atlassian JIRA (v7.6.3#76005)