Uploaded image for project: 'OpenShift Logging'
  1. OpenShift Logging
  2. LOG-6032

Logs labelled as partial when the entire log is reassembled by Vector

XMLWordPrintable

    • False
    • None
    • False
    • NEW
    • NEW
    • Bug Fix
    • Low

      Description of problem:

      Single log line produced by the container as:

      2024-08-28T12:14:11.381+0200: [GC (Allocation Failure) 2024-08-28T12:14:11.381+0200: [ParNew: 22229K->401K(27328K), 0.0042127 secs] 132842K->111021K(185064K), 0.0042535 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]  

      Split in several by CRIO (it's also printed the end of line for better observability for troubleshooting)

      2024-08-29T09:42:35.446720302+00:00 stdout P 2024-08-28T12:14:11.381+0200: [GC (Allocation Failure) 2024-08-28T12:14:11.381+0200: [ParNew: 22229K->401K(27328K), 0.0042127 secs] 132$
      2024-08-29T09:42:35.446756250+00:00 stdout F 842K->111021K(185064K), 0.0042535 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] $
      

      And reassembled vy the collector the original log line, it's marked ar "_partial: true". This is how it looks like in Loki side:

      _partial: true
      ...
      message: 2024-08-28T12:14:11.381+0200: [GC (Allocation Failure) 2024-08-28T12:14:11.381+0200: [ParNew: 22229K->401K(27328K), 0.0042127 secs] 132842K->111021K(185064K), 0.0042535 secs] [Times: user=0.00 sys=0.00, real=0.01 secs] 
      

      Version-Release number of selected component (if applicable):

      $ oc get csv -n openshift-logging|grep logging
      cluster-logging.v5.9.5                  Red Hat OpenShift Logging   5.9.5                  cluster-logging.v5.9.4                         Succeeded
      

      How reproducible:

      Always

      Steps to Reproduce:

      1. Deploy CLO and not needed to create the CLF
      2.  Create a pod as hello-node: `kubectl create deployment hello-node --image=registry.k8s.io/e2e-test-images/agnhost:2.43 – /agnhost serve-hostname`
      3.  Upload to this "hello-node" pod the file attached using `oc cp <log file> > <hello-node pod>:/tmp`
      4. `oc rsh <hello-node pod>` and generate the logs `cat <logfile > /proc/1/fd/1`
      5. Running `vector tap --inputs-of output_default_loki_apps` in the collector pod running in the same node that the `hello-node` pod

      NOTE

      Actual results:

      Single log line produced by the container split by CRIO in several is marked by Vector   as  `_partial: true` even when the original log line was reassembled entirely by the collector:

      _partial: true ... message: 2024-08-28T12:14:11.381+0200: [GC (Allocation Failure) 2024-08-28T12:14:11.381+0200: [ParNew: 22229K->401K(27328K), 0.0042127 secs] 132842K->111021K(185064K), 0.0042535 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]  

      Expected results:

      It shouldn't be labelled as "_partial: true" as the entire log was reassembled by Vector and the output event contains all the original data.

      Additional note:

      Screenshot about how it looks like in the Loki side is attached

              jcantril@redhat.com Jeffrey Cantrill
              rhn-support-ocasalsa Oscar Casal Sanchez
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: