You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Sergey Antonov (JIRA)" <ji...@apache.org> on 2019/04/26 08:33:00 UTC

[jira] [Updated] (IGNITE-11812) control.sh ignores quotes in passed arguments

     [ https://issues.apache.org/jira/browse/IGNITE-11812?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sergey Antonov updated IGNITE-11812:
------------------------------------
    Description: 
Control.sh should consider quotes in incoming arguments. i.e. I expect that 

{code:java}
control.sh --baseline set "p1,p2,p3","p4,p5,p6" --yes
{code}

set BLT with two nodes with consistent ids: {{p1,p2,p3}} and {{p4,p5,p6}}, but now it tries to set BLT with six nodes {{p1}}, {{p2}}, {{p3}}, {{p4}}, {{p5}}, {{p6}}

Reproducer. (Add this test to {{CommandHandlerParsingTest}})

{code:java} 
    @Test
    public void testQuotesWillNotIgnored() throws Exception {
        CommandHandler hnd = new CommandHandler();

        Arguments args = hnd.parseAndValidate(
            Arrays.asList(
                BASELINE.text(),
                BaselineCommand.SET.text(),
                "\"1,2,3\",\"3,2,1\""
            )
        );

        assertEquals(BASELINE, args.command());
        assertEquals(BaselineCommand.SET, args.baselineArguments().getCmd());
        // FIx me: expected 2, actual 6
        assertEquals(2, args.baselineArguments().getConsistentIds().size());
        assertEquals("1,2,3", args.baselineArguments().getConsistentIds().get(0));
        assertEquals("3,2,1", args.baselineArguments().getConsistentIds().get(1));
    }
{code}


  was:
Control.sh should consider quotes in incoming arguments. i.e. I expect that {{control.sh --baseline set "p1,p2,p3","p4,p5,p6" --yes}} set BLT with two nodes with consistent ids: {{p1,p2,p3}} and {{p4,p5,p6}}, but now it tries to set BLT with six nodes {{p1}}, {{p2}}, {{p3}}, {{p4}}, {{p5}}, {{p6}}

Reproducer. (Add this test to {{CommandHandlerParsingTest}})

{code:java} 
    @Test
    public void testQuotesWillNotIgnored() throws Exception {
        CommandHandler hnd = new CommandHandler();

        Arguments args = hnd.parseAndValidate(
            Arrays.asList(
                BASELINE.text(),
                BaselineCommand.SET.text(),
                "\"1,2,3\",\"3,2,1\""
            )
        );

        assertEquals(BASELINE, args.command());
        assertEquals(BaselineCommand.SET, args.baselineArguments().getCmd());
        // FIx me: expected 2, actual 6
        assertEquals(2, args.baselineArguments().getConsistentIds().size());
        assertEquals("1,2,3", args.baselineArguments().getConsistentIds().get(0));
        assertEquals("3,2,1", args.baselineArguments().getConsistentIds().get(1));
    }
{code}



> control.sh ignores quotes in passed arguments
> ---------------------------------------------
>
>                 Key: IGNITE-11812
>                 URL: https://issues.apache.org/jira/browse/IGNITE-11812
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Sergey Antonov
>            Priority: Major
>             Fix For: 2.8
>
>
> Control.sh should consider quotes in incoming arguments. i.e. I expect that 
> {code:java}
> control.sh --baseline set "p1,p2,p3","p4,p5,p6" --yes
> {code}
> set BLT with two nodes with consistent ids: {{p1,p2,p3}} and {{p4,p5,p6}}, but now it tries to set BLT with six nodes {{p1}}, {{p2}}, {{p3}}, {{p4}}, {{p5}}, {{p6}}
> Reproducer. (Add this test to {{CommandHandlerParsingTest}})
> {code:java} 
>     @Test
>     public void testQuotesWillNotIgnored() throws Exception {
>         CommandHandler hnd = new CommandHandler();
>         Arguments args = hnd.parseAndValidate(
>             Arrays.asList(
>                 BASELINE.text(),
>                 BaselineCommand.SET.text(),
>                 "\"1,2,3\",\"3,2,1\""
>             )
>         );
>         assertEquals(BASELINE, args.command());
>         assertEquals(BaselineCommand.SET, args.baselineArguments().getCmd());
>         // FIx me: expected 2, actual 6
>         assertEquals(2, args.baselineArguments().getConsistentIds().size());
>         assertEquals("1,2,3", args.baselineArguments().getConsistentIds().get(0));
>         assertEquals("3,2,1", args.baselineArguments().getConsistentIds().get(1));
>     }
> {code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)